一、发送邮件的简单方式
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using .Mail;
using ;
namespace MailSender
{
class Program
{
static void Main(string[] args)
{
//SMTP服务器
SmtpClient smtp = new SmtpClient("");
// SMTP服务器用户名,密码
smtp.Credentials = new NetworkCredential("okbase", "abcdefg");
MailMessage mail = new MailMessage();
mail.From = new MailAddress("123456@");// 发件人
mail.To.Add("okbase@");// 收件人
mail.Subject = "文件已经发给你了";
mail.Body = "请及时查收";
mail.BodyEncoding = Encoding.UTF8;
mail.IsBodyHtml = false;
mail.Priority = MailPriority.Normal;
try
{
smtp.Send(mail);
Console.WriteLine("发送成功");
}
catch (.Mail.SmtpException ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
二、利用GMail发送邮件的例子
(代码来自网络)
using .Mail;
MailMessage msg = new MailMessage();
msg.To.Add("a@,b@");//收件者,以逗号分隔不同收件者
//.Add("c@");//副本
//msg.Bcc.Add("d@");//密件副本
//3个参数分别是发件人地址(可以随便写),发件人姓名,编码
msg.From = new MailAddress("abc@", "发件人姓名", System.Text.Encoding.UTF8);
msg.Subject = "密码确认信";//邮件标题
msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码
msg.Body = "您的密码为︰";//邮件内容
msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
msg.IsBodyHtml = false;//是否是HTML邮件
msg.Priority = MailPriority.Normal;//邮件优先级
try
{
//建立 SmtpClient 物件 并设定 Gmail的smtp主机及Port
SmtpClient MySmtp = new SmtpClient("smtp.", 587);
//设定你的帐号密码
MySmtp.Credentials = new .NetworkCredential("帐号","密码");
//Gmial 的 smtp 使用 SSL
MySmtp.EnableSsl = true;
//发送Email
//MySmtp.Send("", "", "C# Gmail发信测试", "文件内容");
MySmtp.Send(msg);
Page.ClientScript.RegisterStartupScript(this.GetType() , "MyScript" , "alert('发送成功!');" , true);
}
catch (.Mail.SmtpException ex)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript", "alert('发送失败!');", true);
}
三、异步发送方式
(代码来自网络)
using .Mail;
...
MailMessage mailMsg = new MailMessage();
mailMsg.From = new MailAddress("你的email地址");
mailMsg.To.Add("接收人1的email地址");
mailMsg.To.Add("接收人2的email地址");
mailMsg.Subject = "邮件主题";
mailMsg.Body = "邮件主体内容";
mailMsg.BodyEncoding = Encoding.UTF8;
mailMsg.IsBodyHtml = false;
mailMsg.Priority = MailPriority.High;
SmtpClient smtp = new SmtpClient();
// 提供身份验证的用户名和密码
// 网易邮件用户可能为:username password
// Gmail 用户可能为:username@ password
smtp.Credentials = new NetworkCredential("用户名", "密码");
smtp.Port = 25; // Gmail 使用 465 和 587 端口
smtp.Host = "SMTP 服务器地址"; // 如 smtp., smtp.
smtp.EnableSsl = false; // 如果使用GMail,则需要设置为true
smtp.SendCompleted += new SendCompletedEventHandler(SendMailCompleted);
try
{
smtp.SendAsync(mailMsg, mailMsg);
}
catch (SmtpException ex)
{
Console.WriteLine(ex.ToString());
}
...
void SendMailCompleted(object sender, AsyncCompletedEventArgs e)
{
MailMessage mailMsg = (MailMessage)e.UserState;
string subject = mailMsg.Subject;
if (e.Cancelled) // 邮件被取消
{
Console.WriteLine(subject + " 被取消。");
}
if (e.Error != null)
{
Console.WriteLine("错误:" + e.Error.ToString());
}
else
{
Console.WriteLine("发送完成。");
}
}
(全文完)