如下为c#发送邮件的范例:
可能发生的问题(可以直接通过超链接查看问题解决方法):
1、Smpt命令顺序不正确。 服务器响应为: Error: need EHLO and AUTH first !
2、头值中找到无效字符
3、“qq授权码”不知道是什么的可以直接百度解决。
using System.Net.Mail;
MailAddress from = new MailAddress("*****@qq.com", "hellohello");
//收件人地址
MailAddress to = new MailAddress("****@qq.com", "hello");
MailMessage message = new MailMessage(from, to);
//添加附件,判断文件存在就添加
if (System.IO.File.Exists(@"C:\SQL.txt"))
{
Attachment item = new Attachment(@"C:\SQL.txt");
message.Attachments.Add(item);
}
message.Subject = "標題"; // 设置邮件的标题
message.Body = "正文"; //发送邮件的正文
message.BodyEncoding = System.Text.Encoding.Default;
message.BodyEncoding = System.Text.Encoding.UTF8;
MailAddress other = new MailAddress("****@qq.com");
message.CC.Add(other); //添加抄送人
//创建一个SmtpClient 类的新实例,并初始化实例的SMTP 事务的服务器
SmtpClient client = new SmtpClient(@"smtp.qq.com");
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.EnableSsl = false;
//身份认证
client.Credentials = new System.Net.NetworkCredential("****@qq.com", "QQ授权码");
bool ret = true; //返回值
try
{
client.Send(message);
}
catch (SmtpException ex)
{
MessageBox.Show(ex.Message);
ret = false;
}