C# projeleriniz için e-posta yollama sınıfı

Ahbap

Harbi Üye
Forum Üyesi
Katılım
29 Mayıs 2019
Mesajlar
8,562
Tepkime puanı
2
C# uygulamalarınızda kullanabileceğiniz, SMTP bilgilerini girerek uygulama içinden e-posta yollamanızı sağlayan sınıf ve örnek kullanım kodları


PHP:
 /// Örnek kullanım:
EnhancedMailMessage msg = new EnhancedMailMessage();

msg.From = "gonderen@site.com";
msg.FromName = "Gönderen Adı";
msg.To = "alici@site.com";
msg.Subject = "Konu";
msg.Body = "Mesaj";

msg.SMTPServerName = "smtp.sunucu.com";
msg.SMTPUserName = "kullanici";
msg.SMTPUserPassword = "parola";

msg.Send();




/// Sınıf kodları:
public class EnhancedMailMessage : MailMessage
{
    private string fromName;
    private string smtpServerName;
    private string smtpUserName;
    private string smtpUserPassword;
    private int smtpServerPort;
    private bool smtpSSL;

    public EnhancedMailMessage()
    {
        fromName = string.Empty;
        smtpServerName = string.Empty;
        smtpUserName = string.Empty;
        smtpUserPassword = string.Empty;
        smtpServerPort = 25;
        smtpSSL = false;
    }

    /// <summary>
    /// The display name that will appear
    /// in the recipient mail client
    /// </summary>
    public string FromName 
    {
        set 
        {
            fromName = value;
        }
        get 
        {
            return fromName;
        }
    }

    /// <summary>
    /// SMTP server (name or IP address)
    /// </summary>
    public string SMTPServerName 
    {
        set 
        {
            smtpServerName = value;
        }
        get 
        {
            return smtpServerName;
        }
    }

    /// <summary>
    /// Username needed for a SMTP server
    /// that requires authentication
    /// </summary>
    public string SMTPUserName 
    {
        set 
        {
            smtpUserName = value;
        }
        get 
        {
            return smtpUserName;
        }
    }
    
    /// <summary>
    /// Password needed for a SMTP server
    /// that requires authentication
    /// </summary>
    public string SMTPUserPassword 
    {
        set 
        {
            smtpUserPassword = value;
        }
        get 
        {
            return smtpUserPassword;
        }
    }
    
    /// <summary>
    /// SMTP server port (default 25)
    /// </summary>
    public int SMTPServerPort 
    {
        set 
        {
            smtpServerPort = value;
        }
        get 
        {
            return smtpServerPort;
        }
    }
    
    /// <summary>
    /// If SMTP server requires SSL
    /// </summary>
    public bool SMTPSSL
    {
        set 
        {
            smtpSSL = value;
        }
        get 
        {
            return smtpSSL;
        }
    }

    public void Send() 
    {
        if (smtpServerName.Length == 0) 
        {
            throw new Exception("SMTP Server not specified");
        }

        if (fromName.Length > 0) 
        {
            this.Headers.Add("From", 
                 string.Format("{0} <{1}>", 
                 FromName, From));            
        }

        // set SMTP server name
        this.Fields["http://schemas.microsoft.com/" + 
                    "cdo/configuration/smtpserver"] = smtpServerName;
        // set SMTP server port
        this.Fields["http://schemas.microsoft.com/cdo" + 
                    "/configuration/smtpserverport"] = smtpServerPort;
        this.Fields["http://schemas.microsoft.com/" + 
                    "cdo/configuration/sendusing"] = 2;

        if (smtpUserName.Length >0 && smtpUserPassword.Length > 0) 
        {
            this.Fields["http://schemas.microsoft.com/" + 
                        "cdo/configuration/smtpauthenticate"] = 1;
            
            // set SMTP username
            this.Fields["http://schemas.microsoft.com" + 
                 "/cdo/configuration/sendusername"] = smtpUserName;
            // set SMTP user password
            this.Fields["http://schemas.microsoft.com/" + 
                 "cdo/configuration/sendpassword"] = smtpUserPassword;
        }

        // ssl if needed
        if (smtpSSL) 
        {
            this.Fields.Add("http://schemas.microsoft" + 
                 ".com/cdo/configuration/smtpusessl", "true");
        }

        SmtpMail.SmtpServer = smtpServerName;
        SmtpMail.Send(this);
    }

    public static void QuickSend(
        string SMTPServerName, 
        string ToEmail, 
        string FromEmail, 
        string Subject, 
        string Body, 
        MailFormat BodyFormat) 
    {
        EnhancedMailMessage msg = new EnhancedMailMessage();

        msg.From = FromEmail;
        msg.To = ToEmail;
        msg.Subject = Subject;
        msg.Body = Body;
        msg.BodyFormat = BodyFormat;

        msg.SMTPServerName = SMTPServerName;
        msg.Send();
    }
}
 
Benzer konular Forum Tarih
Ahbap C# 4 290
Ahbap C# 4 1K
Ahbap C# 3 277
Ahbap C# 4 669
Ahbap C# 3 247

Benzer konular

DarK

< MasaLFM.Net >
Forum Üyesi
Katılım
1 Nisan 2019
Mesajlar
616
Tepkime puanı
0
emeğine yüreğine sağlık
 

Nutella

Harbi Üye
Bayan Üye
Özel Üye
Katılım
2 Ocak 2021
Mesajlar
9,432
Tepkime puanı
8
Cinsiyet
  1. Bayan
Takım
Galatasaray
Paylaşım için teşekkürler.
 
İçerik sağlayıcı "paylaşım" sitelerinden biri olan Harbimekan.Com Forum, Eğlence ve Güncel Paylaşım Platformu Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Harbimekan.Com sitesindeki konular yada mesajlar hakkında yapılacak tüm hukuksal Şikayetler için info@harbimekan.com yada iletişim sayfası üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 Gün (72 Saat) içerisinde Forum yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.

Bu Site, Bilim ve Sağlık Haber Ajansı Üyesidir.

Yığıntı - 8kez - kaynak mağazam - Uğur Ağdaş