您的位置:首页 > 编程语言 > PHP开发

通过QQ邮箱的SMTP服务器发送QQ邮件至163邮箱提示“发送邮件失败”的解决方案(三种可能性,不妨一试)

2014-03-19 09:05 871 查看
IDE:Visual Studio 2010[C#] + .NET 4.0框架
引用.NET 4.0框架的System.Net.Mail命名空间开发发送邮件的程序。发送方:QQ邮箱 接收方:163邮箱

基于上述开发平台,以下列举了三种通过QQ邮箱的SMTP服务器发送QQ邮件至163邮箱提示“发送邮件失败”可能的解决方案。

1.QQ邮箱的SMTP服务是否正常。可取消SMTP服务后再重新勾选启用;
2.是否由于该QQ账号向该163邮箱一段时间内发送了过多的邮件而被163邮箱认为是垃圾邮件。可尝试设置163邮箱反垃圾选项中的白名单。
3.是否由于该QQ账号向该163邮箱一段时间内发送了过多的邮件而使得QQ邮箱有一定的“自卫行为”,即QQ认为该账号处于非正常状态继而封锁该账号(或该账号的IP/IP段)。取消SMTP服务后再重新勾选启用或尝试用该账号在异地发送邮件,可能有助于解除QQ邮箱对该账号的封锁(有待测试。如测试,请谨慎为之。对由于测试此项可能性而产生的账号安全风险本人概不负责)。

附通过QQ邮箱的SMTP服务器成功发送QQ邮件至163邮箱的代码(截至2014年3月19号仍可发送成功):

private void btnSend_Click(object sender, System.EventArgs e)
{
string QQNum = txtQQ.Text + "@qq.com" ;
string QQPwd = txtPwd.Text;
string wy = "xxxxx@163.com";
MailAddress from = new MailAddress(QQNum);
MailAddress to = new MailAddress(wy);
MailMessage mail = new MailMessage(from, to);
mail.Subject = "主题";
mail.Body = "内容";
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;
mail.Sender = new MailAddress(QQNum);
mail.BodyEncoding = Encoding.UTF8;
mail.IsBodyHtml = false;
SmtpClient client = new SmtpClient("smtp.exmail.qq.com");
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(QQNum, QQPwd);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
client.Send(mail);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: