分享一段我们实际使用的C#代码:
var mailMessage = new MailMessage(); mailMessage.To.Add(toEmail); mailMessage.Subject = title; mailMessage.Body = body; mailMessage.IsBodyHtml = true; mailMessage.BodyEncoding = System.Text.Encoding.UTF8; mailMessage.Priority = System.Net.Mail.MailPriority.Normal; mailMessage.From = new MailAddress(mailAccount.From, "显示名称"); var smtpClient = new System.Net.Mail.SmtpClient(); smtpClient.Host = mailAccount.Host; var smtpUserInfo = new System.Net.NetworkCredential(userName, password); smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = smtpUserInfo; smtpClient.Send(mailMessage);
mailAccount这个参数是什么?
@码农JJ: mailAccount.UserName与mailAccount.Passpord是你所用邮箱的用户名与密码。
@dudu: mailAccount是什么数据类型?
@码农JJ: 代码修改了,那个只是我们自己的程序中的
@dudu: SmtpClient.Host设置SMTP事务的主机IP地址是Foxmail邮箱里的【系统设置】->【账号管理】->
【服务器】的发件服务器的IP吗?
@码农JJ: SMTP服务器地址
@dudu: 找到问题了,是我们服务器给禁用了,谢谢你
理论上不该存在这样的问题的!
你看看邮箱的垃圾箱里有木有?
或者 咨询一下Foxmail的客服
谢谢,垃圾邮箱也木有
var smtpClient = new System.Net.Mail.SmtpClient(); smtpClient.Host = mailAccount.Host; var smtpUserInfo = new System.Net.NetworkCredential(userName, password); smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = smtpUserInfo; smtpClient.Send(mailMessage);
后面这里可以直接写成
var smtpClient = new System.Net.Mail.SmtpClient();
smtpClient.Send(mailMessage);
smtpClient的配置放在Config文件里。这样灵活很多
找到问题了,是我们服务器给禁用了,谢谢你