簡體   English   中英

C#Smtp.Send不適用於特定的電子郵件地址

[英]C# Smtp.Send not working for specific email address

除了一個用戶的電子郵件地址(每個人都有相同的“ @OurCompany”域名)外,此代碼沒有任何問題

我已經通過Outlook向他發送了一封電子郵件,一切順利。 運行代碼時不會引發任何異常,但是我們的SysAdmin表示我嘗試發送的電子郵件甚至都沒有發送到服務器電子郵件。

public static void SendEmail(string sTo, string sSubject, string sBody)
{
    using (MailMessage message = new MailMessage(new MailAddress(ConfigurationManager.AppSettings["FromUser"], "User"), new MailAddress(sTo))
    {
        Subject = sSubject,
        Body = sBody
    })
    {
        using (var client = new SmtpClient(ConfigurationManager.AppSettings["SMTPGridName"]))
        {
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.Port = int.Parse(ConfigurationManager.AppSettings["SmtpPort"]);
            client.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EmailCredential"],
                ConfigurationManager.AppSettings["EmailPassword"]);
            client.EnableSsl = true;
            client.Send(message);
        }
    }
}

這是一種可以使您免於頭痛的簡單方法

public static void SendEmail(string sTo, string subject, string body)
{
    var Port = int.Parse(ConfigurationManager.AppSettings["SmtpPort"]);
    using (var client = new SmtpClient(Your EmailHost, Port))
    using (var message = new MailMessage()
    {
        From = new MailAddress(FromEmail),
        Subject = subject,
        Body = body
    })
    {
        message.To.Add(sTo);
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
        client.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EmailCredential"],
                ConfigurationManager.AppSettings["EmailPassword"]);
        client.EnableSsl = true;
        client.Send(message);
    };
}

原來,SendGrid已將電子郵件丟棄,然后才以“退回地址”為由將其發送到我們的電子郵件服務器。 SysAdmin認為電子郵件服務器可能已關閉,導致電子郵件地址被添加到“不存在”列表中。 該地址已從列表中刪除,現在可以使用。

謝謝你的建議

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM