关于邮件发送 用C#代码发送邮件,试了网上找的很多代码,每次都是“与服务器的传输连接"失败,是不是还有什么地方需要配置啊,望大神解答,求求求!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 光有代码不行,得配置好smtp服务器。 // MailAttachment:与邮件附件有关的对象类 //MailMessage :邮件主体 //SmtpMail :负责发送邮件的SMTP协议。 //属性列表: //MailEncoding :邮件的编码(Base64,UUEncode) //MailFormat :邮件的格式(Html超文本格式,Text纯文本格式) //MailPriority :邮件优先级(High, Medium, Low) // Attachments :邮件附件 //Bcc :暗送地址 //Body :邮件主体 //BodyFormat :邮件格式(html,text) //Cc :抄送地址 //From :发信人地址 //Priority :邮件优先级(High, Medium,Low) //Subject :邮件主题 //To :接收人地址 //UrlContentBase :在HTML格式邮件中的URL编码方式 //UrlContentLocation:邮件信息的优先级(High, Medium,Low) private void button1_Click(object sender, EventArgs e) { sendmail("[email protected]", "测试是否可以发送邮箱" + DateTime.Now, "邮件发送成功!"); } static string strHost = String.Empty; static string strAccount = String.Empty; static string strPwd = String.Empty; static string strFrom = String.Empty; /// <summary> /// 发送邮件 /// </summary> /// <param name="to">接收方邮件地址</param> /// <param name="title">邮件标题</param> /// <param name="content">邮件正文内容</param> public static bool sendmail(string to, string title, string content) { strHost = "pop3.126.com"; //STMP服务器地址 strAccount = "[email protected]"; //SMTP服务帐号 strPwd = "********"; //SMTP服务密码 strFrom = "[email protected]"; //发送方邮件地址 SmtpClient _smtpClient = new SmtpClient(); _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式 _smtpClient.Host = strHost; ;//指定SMTP服务器 _smtpClient.Credentials = new System.Net.NetworkCredential(strAccount, strPwd);//用户名和密码 MailMessage _mailMessage = new MailMessage(strFrom, to); _mailMessage.Subject = title;//主题 _mailMessage.Body = content;//内容 _mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码 _mailMessage.IsBodyHtml = true;//设置为HTML格式 _mailMessage.Priority = MailPriority.Low;//优先级 try { _smtpClient.Send(_mailMessage); return true; } catch { return false; } } 试了,还是不能成功发送,是需要在哪里配置STMP服务器么???? public static void sendEmail(List<string> receiveNames,string title,string content) { System.Net.Mail.MailMessage mailMsg = new System.Net.Mail.MailMessage(); if (String.IsNullOrEmpty(content)) return;//没内容则不发送 mailMsg.From = new MailAddress("[email protected]"); if (receiveNames == null) return; foreach (string name in receiveNames) { mailMsg.To.Add(name); } mailMsg.Subject = title; mailMsg.Body = content; mailMsg.BodyEncoding = Encoding.UTF8; mailMsg.IsBodyHtml = true; mailMsg.Priority = System.Net.Mail.MailPriority.High; SmtpClient smtp = new SmtpClient(); smtp.Credentials = new NetworkCredential("[email protected]", "pwd"); smtp.Port = 25; // Gmail 使用 465 和 587 端口 smtp.Host = "smtp.163.com"; smtp.EnableSsl = false; // 如果使用GMail,则需要设置为true try { smtp.Send(mailMsg); } catch (SmtpException ex) { Prj.Log.Error("Error", ex); } } 如果是QQ邮箱的话需要设置SMTP服务开启在邮箱->设置->账户 下开启SMTP服务同样gmail的邮箱也需要设置 如果是QQ邮箱的话需要设置SMTP服务开启在邮箱->设置->账户 下开启SMTP服务同样gmail的邮箱也需要设置之前已经都对163和QQ邮箱设置了,刚又试了一次,还是不行..... 如果是QQ邮箱的话需要设置SMTP服务开启在邮箱->设置->账户 下开启SMTP服务同样gmail的邮箱也需要设置之前已经都对163和QQ邮箱设置了,刚又试了一次,还是不行.....楼上的仁兄说的正确,但代码里面还忽略了一点,发送的时候要指定发送的端口。PS:读取邮件的端口和发送邮件的端口也不同。 那就看一下指定IP或者IIS的SMTP服务有没配置好#2跟#5的代码都可以的,看不出别的问题 是的,2楼和5楼的代码用新浪邮箱都是能发送成功的,能发成功,IIS的SMTP服务 配置还有问题么?另外 指定IP的配置是什么意思?能否具体点,谢谢! 是的,2楼和5楼的代码用新浪邮箱都是能发送成功的,能发成功,IIS的SMTP服务 配置还有问题么?另外 指定IP的配置是什么意思?能否具体点,谢谢!本机是否固定的IP地址在 IIS 6.0 中安装和配置 SMTP 虚拟服务器 是的,2楼和5楼的代码用新浪邮箱都是能发送成功的,能发成功,IIS的SMTP服务 配置还有问题么?另外 指定IP的配置是什么意思?能否具体点,谢谢!本机是否固定的IP地址在 IIS 6.0 中安装和配置 SMTP 虚拟服务器用新浪的邮箱有发送成功,应该表示IIS的SMTP服务就有安装吧?另外,用QQ、163这些邮箱需要配置虚拟服务器么? 是的,2楼和5楼的代码用新浪邮箱都是能发送成功的,能发成功,IIS的SMTP服务 配置还有问题么?另外 指定IP的配置是什么意思?能否具体点,谢谢!本机是否固定的IP地址在 IIS 6.0 中安装和配置 SMTP 虚拟服务器用新浪的邮箱有发送成功,应该表示IIS的SMTP服务就有安装吧?另外,用QQ、163这些邮箱需要配置虚拟服务器么?因为你的错误信息是与服务器的连接失败了所以服务器的设置关系比较大其他的只能自己看看了,本身邮箱问题网络设置问题等 是的,2楼和5楼的代码用新浪邮箱都是能发送成功的,能发成功,IIS的SMTP服务 配置还有问题么?另外 指定IP的配置是什么意思?能否具体点,谢谢!本机是否固定的IP地址在 IIS 6.0 中安装和配置 SMTP 虚拟服务器用新浪的邮箱有发送成功,应该表示IIS的SMTP服务就有安装吧?另外,用QQ、163这些邮箱需要配置虚拟服务器么?因为你的错误信息是与服务器的连接失败了所以服务器的设置关系比较大其他的只能自己看看了,本身邮箱问题网络设置问题等虽然没有解决,不过还是谢谢你! 无聊编的一个小软件 UTF-8编码转换的奇怪现象 这个app.config文件如何更新呢? 求取色器的思路 return string.Format("{0:yyMMddhhmmss}", DateTime.Now); 菜鸟求救 在asp.net1.1中怎么使用json? 菜鸟300问之四---------数据库连接异常 怎样在两个窗口之间传递数据 我是一计算机专业学生即将毕业,先去培训班培训再去工作好,还是直接去工作好? 有关C#使用Enyim.Caching.dll的问题 C# 转 c++ typedef struct
//MailMessage :邮件主体
//SmtpMail :负责发送邮件的SMTP协议。
//属性列表:
//MailEncoding :邮件的编码(Base64,UUEncode)
//MailFormat :邮件的格式(Html超文本格式,Text纯文本格式)
//MailPriority :邮件优先级(High, Medium, Low) // Attachments :邮件附件
//Bcc :暗送地址
//Body :邮件主体
//BodyFormat :邮件格式(html,text)
//Cc :抄送地址
//From :发信人地址
//Priority :邮件优先级(High, Medium,Low)
//Subject :邮件主题
//To :接收人地址
//UrlContentBase :在HTML格式邮件中的URL编码方式
//UrlContentLocation:邮件信息的优先级(High, Medium,Low) private void button1_Click(object sender, EventArgs e)
{
sendmail("[email protected]", "测试是否可以发送邮箱" + DateTime.Now, "邮件发送成功!");
} static string strHost = String.Empty;
static string strAccount = String.Empty;
static string strPwd = String.Empty;
static string strFrom = String.Empty;
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="to">接收方邮件地址</param>
/// <param name="title">邮件标题</param>
/// <param name="content">邮件正文内容</param>
public static bool sendmail(string to, string title, string content)
{
strHost = "pop3.126.com"; //STMP服务器地址
strAccount = "[email protected]"; //SMTP服务帐号
strPwd = "********"; //SMTP服务密码
strFrom = "[email protected]"; //发送方邮件地址
SmtpClient _smtpClient = new SmtpClient();
_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
_smtpClient.Host = strHost; ;//指定SMTP服务器
_smtpClient.Credentials = new System.Net.NetworkCredential(strAccount, strPwd);//用户名和密码
MailMessage _mailMessage = new MailMessage(strFrom, to);
_mailMessage.Subject = title;//主题
_mailMessage.Body = content;//内容
_mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码
_mailMessage.IsBodyHtml = true;//设置为HTML格式
_mailMessage.Priority = MailPriority.Low;//优先级 try
{
_smtpClient.Send(_mailMessage);
return true;
}
catch
{
return false;
}
}
public static void sendEmail(List<string> receiveNames,string title,string content)
{
System.Net.Mail.MailMessage mailMsg = new System.Net.Mail.MailMessage();
if (String.IsNullOrEmpty(content)) return;//没内容则不发送
mailMsg.From = new MailAddress("[email protected]");
if (receiveNames == null) return;
foreach (string name in receiveNames)
{
mailMsg.To.Add(name);
}
mailMsg.Subject = title;
mailMsg.Body = content;
mailMsg.BodyEncoding = Encoding.UTF8;
mailMsg.IsBodyHtml = true;
mailMsg.Priority = System.Net.Mail.MailPriority.High; SmtpClient smtp = new SmtpClient();
smtp.Credentials = new NetworkCredential("[email protected]", "pwd");
smtp.Port = 25; // Gmail 使用 465 和 587 端口
smtp.Host = "smtp.163.com";
smtp.EnableSsl = false; // 如果使用GMail,则需要设置为true
try
{
smtp.Send(mailMsg);
}
catch (SmtpException ex)
{
Prj.Log.Error("Error", ex);
}
}
如果是QQ邮箱的话需要设置SMTP服务开启在邮箱->设置->账户 下开启SMTP服务同样gmail的邮箱也需要设置
如果是QQ邮箱的话需要设置SMTP服务开启在邮箱->设置->账户 下开启SMTP服务同样gmail的邮箱也需要设置之前已经都对163和QQ邮箱设置了,刚又试了一次,还是不行.....
如果是QQ邮箱的话需要设置SMTP服务开启在邮箱->设置->账户 下开启SMTP服务同样gmail的邮箱也需要设置之前已经都对163和QQ邮箱设置了,刚又试了一次,还是不行.....
楼上的仁兄说的正确,但代码里面还忽略了一点,发送的时候要指定发送的端口。PS:读取邮件的端口和发送邮件的端口也不同。
在 IIS 6.0 中安装和配置 SMTP 虚拟服务器
在 IIS 6.0 中安装和配置 SMTP 虚拟服务器
用新浪的邮箱有发送成功,应该表示IIS的SMTP服务就有安装吧?另外,用QQ、163这些邮箱需要配置虚拟服务器么?
在 IIS 6.0 中安装和配置 SMTP 虚拟服务器
用新浪的邮箱有发送成功,应该表示IIS的SMTP服务就有安装吧?另外,用QQ、163这些邮箱需要配置虚拟服务器么?因为你的错误信息是与服务器的连接失败了
所以服务器的设置关系比较大其他的只能自己看看了,本身邮箱问题网络设置问题等
在 IIS 6.0 中安装和配置 SMTP 虚拟服务器
用新浪的邮箱有发送成功,应该表示IIS的SMTP服务就有安装吧?另外,用QQ、163这些邮箱需要配置虚拟服务器么?因为你的错误信息是与服务器的连接失败了
所以服务器的设置关系比较大其他的只能自己看看了,本身邮箱问题网络设置问题等
虽然没有解决,不过还是谢谢你!