SMTP发邮件发送失败
以前在sharepoint应用程序页中正常运行的代码,现在在本地控制台应用程序中正常运行,在SharePoint 2013应用程序页中运行会出错,第三方的邮件服务器,出现错误提示的信息,
port=465时
邮件发送失败 [System.IO.IOException] {"无法从传输连接中读取数据: net_io_connectionclosed。"} System.IO.IOException
port=25时
不允许使用邮箱名称。 服务器响应为:authentication is required
求指教。
发送的代码
////设置发件人信箱,及显示名字
MailAddress from = new MailAddress(fromEmail, fromDisplayName);
//设置收件人信箱,及显示名字
//MailAddress to = new MailAddress(TextBox1.Text, "");
//创建一个MailMessage对象
MailMessage oMail = new MailMessage();
oMail.From = from;
for (int i = 0; i < toMail.Length; i++)
{
oMail.To.Add(toMail[i].ToString());
}
oMail.Subject = toSubject; //邮件标题
oMail.Body = toBody; //邮件内容
oMail.IsBodyHtml = true; //指定邮件格式,支持HTML格式
oMail.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");//邮件采用的编码
//oMail.Priority = MailPriority.High;//设置邮件的优先级为高
//Attachment oAttach = new Attachment("");//上传附件
//oMail.Attachments.Add(oAttach);
//发送邮件服务器 +
SmtpClient client = new SmtpClient();
client.Port = 465;
client.Host = "smtp.***.***.cn";// fromEmail.Substring(fromEmail.IndexOf("@") + 1); //163.com指定邮件服务器smtp.sina.com"smtp.sina.com";//
client.Credentials = new NetworkCredential(fromEmail, pwd);//指定服务器邮件,及密码
client.DeliveryMethod = SmtpDeliveryMethod.Network;
//发送
try
{
client.Send(oMail); //发送邮件
oMail.Dispose(); //释放资源
return true;// "恭喜你!邮件发送成功。";
}
catch (Exception ex)
{
oMail.Dispose(); //释放资源
return false;// "邮件发送失败,检查网络及信箱是否可用。" + e.Message;
}