C# Smtp邮件传递失败
我正在使用Smtp发送邮件。邮件已成功发送,但未送达。这背后的原因是什么。这是邮件服务器中的问题吗?邮件发送过程在过去几年中运行良好。这个问题是第一次出现的C# Smtp邮件传递失败,c#,smtp,smtpclient,C#,Smtp,Smtpclient,我正在使用Smtp发送邮件。邮件已成功发送,但未送达。这背后的原因是什么。这是邮件服务器中的问题吗?邮件发送过程在过去几年中运行良好。这个问题是第一次出现的 public bool SendMail(string p_strFrom, string p_strDisplayName, string p_strTo, string p_strSubject, string p_strMessage , string strFileName) { try {
public bool SendMail(string p_strFrom, string p_strDisplayName, string p_strTo, string p_strSubject, string p_strMessage , string strFileName)
{
try
{
p_strDisplayName = _DisplayName;
string smtpserver = _SmtpServer;
SmtpClient smtpClient = new SmtpClient();
MailMessage message = new MailMessage();
MailAddress fromAddress = new MailAddress(_From,_DisplayName);
smtpClient.Host = _SmtpServer;
smtpClient.Port = Convert.ToInt32(_Port);
string strAuth_UserName = _UserName;
string strAuth_Password = _Password;
if (strAuth_UserName != null)
{
System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential(strAuth_UserName, strAuth_Password);
smtpClient.UseDefaultCredentials = false;
if (_SSL)
{
smtpClient.EnableSsl = true;
}
smtpClient.Credentials = SMTPUserInfo;
}
message.From = fromAddress;
message.Subject = p_strSubject;
message.IsBodyHtml = true;
message.Body = p_strMessage;
message.To.Add(p_strTo);
try
{
smtpClient.Send(message);
Log.WriteSpecialLog("smtpClient mail sending first try success", "");
}
catch (Exception ee)
{
Log.WriteSpecialLog("smtpClient mail sending first try Failed : " + ee.ToString(), "");
return false;
}
return true;
}
catch (Exception ex)
{
Log.WriteLog("smtpClient mail sending overall failed : " + ex.ToString());
return false;
}
}
邮件已成功发送,但未送达
如果邮件从您的邮件服务器成功发送,则未送达的可能原因可能是客户端上的邮件筛选器阻止了邮件或以垃圾邮件形式送达。当我重新发送邮件时,已成功送达邮件和SmtpClient都实现了IDisposable。特别是,处理SmtpClient非常重要。这可能是您的问题的原因,但这是您应该进行的更改。如何处置SmtpClient。我正在使用.Net 3.5IDisposable。它是在.Net 4.0中添加到SmtpClient的。如果您使用的是3.5,我对处理它的意见不适用。好的,还有其他建议吗?