电子邮件发送失败,私人电子邮件域:C#代码
本文关键字:电子邮件 代码 失败 | 更新日期: 2023-09-27 18:21:34
在我的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配合使用,没有任何问题。(与雅虎: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主机和端口号
有人知道为什么会发生这种事吗。。??谢谢你。
您的邮件提供商可能不允许中继。这意味着您只能从使用登录的地址发送电子邮件
您是否尝试过使用RepltToList?
msg.ReplyToList.Add(replyTo);
如果没有这个,我在发送邮件时遇到了一些问题。
我认为这是私人邮件服务器的配置问题。甚至可能是一件愚蠢的事情,比如启用SMTP支持服务器端。请尝试查看私人邮件服务器配置。
您的域是否与谷歌应用程序链接?
我也曾经遇到过类似的问题。我的一个子域指向谷歌应用程序邮件(免费版/非企业版),我无法使用PHP发送邮件。
让我知道。
尝试在app.conf中设置此配置:
<system.net>
<mailSettings>
<smtp from="abc@somedomain.com">
<network host="somesmtpserver" port="25" userName="name" password="pass" defaultCredentials="true" />
</smtp>
</mailSettings>
</system.net>