一、常见的邮箱类型有哪些?
部分免费邮件SMTP服务器参考设置:
另外如果是公司的邮箱发,如果host是exchange的话,端口也要用587而不是25.
一般企业的邮箱发送都不需要lient.EnableSsl = true;所以这行可以识具体情况添加。如果提识没有相应的证书且就把lient.EnableSsl = true去掉即可。当然发送邮件是采用同步还是异步的方式就看项目要求了,如果采用同步发送,主UI界面会阻塞,所以最好是另外开一个线程来发邮件。邮件状态可以通过委托来实现邮件发送状态的显示。
二、利用.net 的相关类库进行邮件发送
在.net2.0及之后版本,用System.Net.Mail发送邮件。主要用到了在.net2.0中新增的两个类,分别是System.Net.Mail.MailMessage和System.Net.Mail.SmtpClient两个类,在SMTP身份验证方面用到了System.Net.NetworkCredential类。
1. MailMessage 类表示邮件的内容
MailMessage常用属性
组织好电子邮件后,可以使用 Send 或 SendAsync 方法发送邮件
2. SmtpClient类用于将电子邮件发送到 SMTP 服务器以便传递
SmtpClient常用属性
实例代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Mail; namespace Mail_test { public partial class Form2 : Form { public Form2() { InitializeComponent(); } /// <summary> /// 发送邮件程序 /// </summary> /// <param name="from">发送人邮件地址</param> /// <param name="fromname">发送人显示名称</param> /// <param name="to">发送给谁(邮件地址)</param> /// <param name="subject">标题</param> /// <param name="body">内容</param> /// <param name="username">邮件登录名</param> /// <param name="password">邮件密码</param> /// <param name="server">邮件服务器</param> /// <param name="fujian">附件</param> /// <returns>send ok</returns> /// 调用方法 SendMail("[email protected]", "某某人", "[email protected]", "你好", "我测试下邮件", "邮箱登录名", "邮箱密码", "smtp.126.com", ""); private void button1_Click(object sender, EventArgs e) { string from = "从哪个邮箱发送"; string fromname = "发送名字"; string to="发送到哪个邮箱"; string subject = "TEST"; string body = "Excuse me,this is a test mail"; string server = "邮箱服务器名称"; string username = "账号"; string password = "密码"; try { MailMessage mail = new MailMessage();//邮件发送类 mail.From = new MailAddress(from, fromname);//是谁发送的邮件 mail.To.Add(to); //mail.To.Add(new MailAddress(to, toname));//发送给谁 或者简短的用 mail.To.Add(to) mail.Subject = subject; //标题 mail.BodyEncoding = Encoding.Default; //内容编码 mail.Priority = MailPriority.Normal;//发送优先级 mail.Body = body;//邮件内容 mail.IsBodyHtml = false;//是否HTML形式发送 SmtpClient smtp = new SmtpClient(server, 25);//邮件服务器和端口 smtp.UseDefaultCredentials = false; smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //指定发送方式 smtp.Credentials = new System.Net.NetworkCredential(username, password);//指定登录名和密码 smtp.Timeout = 10000;//超时时间 //smtp.EnableSsl = true;//经过ssl加密 smtp.Send(mail); //return "send ok"; } catch (Exception exp) { MessageBox.Show(exp.Message); } } } }