电子邮件发送失败,私人电子邮件域:C#代码

时间:2012-01-25 10:37:56

标签: c# windows winforms email

在我的winforms应用程序中,我使用以下功能发送电子邮件。

    public void sendEmailWithHotmail(string emailFrom, string emailPwd, string emailTo, string smtpHost, int smtpPort, string msg)
    {
        MailMessage mail = new MailMessage();
        mail.From = new MailAddress(emailFrom, "Test EMail");
        mail.To.Add(emailTo);
        mail.Subject = "Hi";
        mail.Body = msg;
        mail.Priority = MailPriority.Normal;

        NetworkCredential mailAuthentication = new NetworkCredential(emailFrom, emailPwd);
        SmtpClient mailClient = new SmtpClient(smtpHost, smtpPort);
        mailClient.EnableSsl = true;
        mailClient.UseDefaultCredentials = false;
        mailClient.Credentials = mailAuthentication;
        mailClient.Timeout = 20000;
        mailClient.Send(mail);            
    }

此代码与gmail,Hotmail和yahoo一起使用时没有任何问题。 (使用yahoo:mailClient.EnableSsl = false;和gmail / hotmail:mailClient.EnableSsl = true;

Gmail   -> smtp port: smtp.gmail.com,   smtp Port: 587
Hotmail -> smtp port: smtp.live.com,   smtp Port: 25
Yahoo   -> smtp port: smtp.mail.yahoo.com,   smtp Port: 25

我遇到的问题是,我的私人电子邮件域名Smtp Exception : Failure sending mail不断出现例外情况。myemailId@privatedomain.com 我给出了正确的smtp主机和端口号

有没有人有任何想法,为什么会这样呢???非常感谢。

5 个答案:

答案 0 :(得分:0)

您的邮件提供商可能不允许转发。这意味着您只能使用

从您登录的地址发送电子邮件

答案 1 :(得分:0)

您是否尝试过使用RepltToList?

     msg.ReplyToList.Add(replyTo);

如果没有这个邮件我发送邮件会有些问题。

答案 2 :(得分:0)

我认为这是私人邮件服务器的配置问题。也许甚至是一个愚蠢的事情,如启用SMTP支持服务器端。尝试查看私人邮件服务器配置。

答案 3 :(得分:0)

您的域名是否与Google应用相关联?

我也遇到了类似的问题。我的一个子域名指向谷歌应用程序邮件(免费版/非企业版),我无法使用PHP发送邮件。

让我知道。

答案 4 :(得分:0)

尝试在app.config中设置此配置:

<system.net>
    <mailSettings>
      <smtp from="abc@somedomain.com">
        <network host="somesmtpserver" port="25" userName="name" password="pass" defaultCredentials="true" />
      </smtp>
    </mailSettings>
 </system.net>