我正在使用以下代码使用来自asp.net web应用程序的c#向订阅用户发送电子邮件
当我使用email@domainx.com发送电子邮件时,电子邮件将被发送到大多数客户端电子邮件地址,但对于像gmail或yahoo这样的客户端却失败了。这些客户甚至没有收到电子邮件,我检查了垃圾邮件文件夹,将收件人电子邮件地址添加到列表中但总是失败
当我使用gmail凭证发送电子邮件时,它可以工作。我如何测试电子邮件服务,以了解为什么它从email@domainx.com失败。
以下是示例代码
public static void SendEmailNewsletter(string to, string subject, string message, bool isHtml)
{
try
{
// Create a new message
var mail = new MailMessage();
// Set the to and from addresses.
// The from address must be your GMail account
mail.From = new MailAddress("<noreply@xxxx.com>");
mail.To.Add(new MailAddress(to));
// Define the message
mail.Subject = subject;
mail.IsBodyHtml = isHtml;
mail.Body = message;
var mailclient = new SmtpClient();
//mailclient.Host = "smtp.gmail.com";//ForGmail
mailclient.Host = "mail.xxx.com";
// mailclient.Port = 587; //ForGmail & Microsoft
mailclient.Port = 25;
// This is the critical part, you must enable SSL
// mailclient.EnableSsl = true;//ForGmail
mailclient.EnableSsl = false;
mailclient.UseDefaultCredentials = true;
// Specify your authentication details
// mailclient.Credentials = new System.Net.NetworkCredential("xxxx@gmail.com", "xxxx");//ForGmail
mailclient.Credentials = new System.Net.NetworkCredential("noreply@xxx.com", "xxxxxx");
mailclient.Send(mail);
mailclient.Dispose();
}
catch (Exception ex)
{
}
}
电子邮件因某些原因被阻止,我无法弄清楚为什么因为我没有收到任何关于电子邮件发送失败的gmail失败消息或电子邮件。