我写了一个发送邮件的方法,但是调试后,报出错误,“事务失败。 服务器响应为: Relay access denied”/// <summary>
/// 发邮件
/// </summary>
/// <param name="sTitle">标题</param>
/// <param name="sBody">内容</param>
/// <param name="ToAddress">邮件地址</param>
public void SendEMailSc(string account, string password, string emailServer, string emailTitle, string emailBody, string emailAddress)
{
SmtpClient mail = new SmtpClient();
//发送方式
mail.DeliveryMethod = SmtpDeliveryMethod.Network;
//smtp服务器
mail.Host = emailServer;
//用户名凭证
mail.Credentials = new System.Net.NetworkCredential(account, password);
//邮件信息
MailMessage message = new MailMessage();
//发件人
message.From = new MailAddress(account, "TalkOnline");
//收件人
message.To.Add(new MailAddress(emailAddress));
//主题
message.Subject = emailTitle;
//内容
message.Body = emailBody;
//正文编码
message.BodyEncoding = System.Text.Encoding.UTF8;
//设置为HTML格式
message.IsBodyHtml = true;
//优先级
message.Priority = MailPriority.High; try
{
mail.Send(message);
}
catch (Exception e)
{
throw e;
}
}
/// 发邮件
/// </summary>
/// <param name="sTitle">标题</param>
/// <param name="sBody">内容</param>
/// <param name="ToAddress">邮件地址</param>
public void SendEMailSc(string account, string password, string emailServer, string emailTitle, string emailBody, string emailAddress)
{
SmtpClient mail = new SmtpClient();
//发送方式
mail.DeliveryMethod = SmtpDeliveryMethod.Network;
//smtp服务器
mail.Host = emailServer;
//用户名凭证
mail.Credentials = new System.Net.NetworkCredential(account, password);
//邮件信息
MailMessage message = new MailMessage();
//发件人
message.From = new MailAddress(account, "TalkOnline");
//收件人
message.To.Add(new MailAddress(emailAddress));
//主题
message.Subject = emailTitle;
//内容
message.Body = emailBody;
//正文编码
message.BodyEncoding = System.Text.Encoding.UTF8;
//设置为HTML格式
message.IsBodyHtml = true;
//优先级
message.Priority = MailPriority.High; try
{
mail.Send(message);
}
catch (Exception e)
{
throw e;
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货