发送邮件——以163邮箱为例
测试及问题排查
使用系统包:System.Net.Mail SmtpClient工具
测试代码:
public static void SendTest() {
MailMessage msg = new MailMessage();
msg.Subject = "测试"; //标题
msg.Body = " 测试,测试"; //内容
msg.From = new MailAddress("发件人地址");
msg.To.Add("收件人地址");
SmtpClient client = new SmtpClient();
client.Host = "smtp.163.com"; //发件方服务器地址
client.Port = 25; //发件方端口
client.UseDefaultCredentials = true;
NetworkCredential credential = new NetworkCredential("用户名", "授权码");
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
client.Credentials = credential;
client.Send(msg);
}
参数介绍:
Subject:主题
Body:内容
From:发件人邮箱地址
To:收件人邮箱地址列表
Host:发件人邮箱服务器地址
Port:发件人服务器端口
UseDefaultCredentials:是否使用默认的网络凭证
Credentials:身份认证凭据
new NetworkCredential("hynkoala", "WDTMGFMREVPRBKEE")中的userName为邮箱用户名,不包含@后面部分;password为密码(授权码)
UseDefaultCredentials若设置为true,且后面又设置了Credentials,则仍以实际的Credentials进行认证,如果没设Credentials,则以匿名方式进行认证
以上测试方法应该能够实现邮件的发送。
若出现“不允许使用邮箱名称。 服务器响应为:authentication is required,163 smtp13”错误,可能是授权码错误或者发件邮箱问题,可去邮箱管理后台重启SMTP服务或重置授权码(重启默认重置授权码)。
重启:

重置授权码:目前好像没有重置功能,只能重启。

完整工具
using System;
using System.Collections.Generic;</

本文以163邮箱为例,介绍了如何使用C#的System.Net.Mail.SmtpClient发送邮件。在测试过程中,可能出现的错误如'不允许使用邮箱名称...'通常与授权码错误有关,解决方案包括检查授权码是否正确、重启SMTP服务或在邮箱后台重置授权码。提供了解决此类问题的方法和完整的邮件发送代码示例。

2078

被折叠的 条评论
为什么被折叠?



