[C#]实现简单发送邮件
2009-11-24 11:48
375 查看
string mailContent="邮件内容";
MailMessage msg = new System.Net.Mail.MailMessage();
msg.To.Add("******@gmail.com"); //收件人
//发件人信息
msg.From = new MailAddress("*****@gmail.com", "发送人姓名", System.Text.Encoding.UTF8);
msg.Subject = "这是测试邮件"; //邮件标题
msg.SubjectEncoding = System.Text.Encoding.UTF8; //标题编码
msg.Body = mailContent; //邮件主体
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.IsBodyHtml = true; //是否HTML
msg.Priority = MailPriority.High; //优先级
SmtpClient client = new SmtpClient();
//设置GMail邮箱和密码
client.Credentials = new System.Net.NetworkCredential("帐号@gmail.com", "密码");
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
object userState = msg;
try
{
client.Send(msg);
MessageBox.Show("发送成功");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "发送邮件出错");
}
这里的重点是邮箱身份验证那个地方,一定不能写错,否则,邮件发送不出去。到这里,似乎是大功告成了,但是,你会发现,相同的程序,在某些机器上可以发送 成功,在某些机器上发送总是失败,是系统的原因?似乎不是,因为相同的系统,也是有的发送成功,有的发送失败。那是,框架的原因?似乎也不是。
这里就有一个很令人迷惑的现象出现,同样的系统,同样的框架,还是有的能发送成功,有的发送失败。失败的具体原因说是邮件标头编码有错误。那么,我们去掉Subject,不写,用默认的可以吗?也是一样的。
简单总结一下:
1、使用SmtpClient发送电子邮件是很简单的,只要正确创建了MailMessage对象和SmtpClient就可以很容易的发送出去电子邮件。
2、如果电子邮件服务器需要身份验证【似乎现在都需要身份验证,除非自己配置的】,注意下面这句话:
smtpClient.Credentials = new System.Net.NetworkCredential("帐号@gmail.com", "密码");
3、机器名不能使用中文。
转自:/article/5365245.html
MailMessage msg = new System.Net.Mail.MailMessage();
msg.To.Add("******@gmail.com"); //收件人
//发件人信息
msg.From = new MailAddress("*****@gmail.com", "发送人姓名", System.Text.Encoding.UTF8);
msg.Subject = "这是测试邮件"; //邮件标题
msg.SubjectEncoding = System.Text.Encoding.UTF8; //标题编码
msg.Body = mailContent; //邮件主体
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.IsBodyHtml = true; //是否HTML
msg.Priority = MailPriority.High; //优先级
SmtpClient client = new SmtpClient();
//设置GMail邮箱和密码
client.Credentials = new System.Net.NetworkCredential("帐号@gmail.com", "密码");
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
object userState = msg;
try
{
client.Send(msg);
MessageBox.Show("发送成功");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "发送邮件出错");
}
这里的重点是邮箱身份验证那个地方,一定不能写错,否则,邮件发送不出去。到这里,似乎是大功告成了,但是,你会发现,相同的程序,在某些机器上可以发送 成功,在某些机器上发送总是失败,是系统的原因?似乎不是,因为相同的系统,也是有的发送成功,有的发送失败。那是,框架的原因?似乎也不是。
这里就有一个很令人迷惑的现象出现,同样的系统,同样的框架,还是有的能发送成功,有的发送失败。失败的具体原因说是邮件标头编码有错误。那么,我们去掉Subject,不写,用默认的可以吗?也是一样的。
简单总结一下:
1、使用SmtpClient发送电子邮件是很简单的,只要正确创建了MailMessage对象和SmtpClient就可以很容易的发送出去电子邮件。
2、如果电子邮件服务器需要身份验证【似乎现在都需要身份验证,除非自己配置的】,注意下面这句话:
smtpClient.Credentials = new System.Net.NetworkCredential("帐号@gmail.com", "密码");
3、机器名不能使用中文。
转自:/article/5365245.html
相关文章推荐
- C#实现简单的SmtpClient发送邮件
- C和C#两种方式实现邮件的简单发送
- C#真他妈神奇,一个函数都不用写就能实现一个简单的邮件发送工具
- C#实现简单的SmtpClient发送邮件
- c#实现简单的发送邮件
- C和C#两种方式实现简单的邮件发送
- C#实现简单的SmtpClient发送邮件
- C#实现简单邮件发送
- 新手教学--ASP.NET简单邮件发送(C#)
- java 实现简单的邮件发送
- Java中使用SimpleEmail实现简单邮件的发送
- JAVA邮件发送的简单实现,使用javamail通过smtp协议发信
- c# 实现简单的发送邮箱
- springMVC发送邮件的简单实现
- 【C# 网络编程系列】专题十:实现简单的邮件收发器
- java邮件发送的简单实现,使用javamail通过smtp协议发信
- JAVA邮件发送的简单实现
- C#实现邮件发送,可以添加附件,发件人、收件人信息从xml文件读取
- c#邮件发送的实现
- C#使用Jmail实现邮件的接收与发送详细示例