随笔 - 85, 评论 - 66, 访问 - 449458

导航


  • 访问:449458次
  • 积分:896分
  • 排名:第15名
  • 随笔:85篇
  • 评论:66条

随笔分类

随笔档案

相册

最新评论

阅读排行榜

评论排行榜

好饱 阅读(6014) 评论(2)

一、发送邮件的简单方式

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net;

namespace MailSender
{
    class Program
    {
        static void Main(string[] args)
        {
            //SMTP服务器
            SmtpClient smtp = new SmtpClient("smtp.qq.com"); 
            // SMTP服务器用户名,密码
            smtp.Credentials = new NetworkCredential("okbase", "abcdefg");

            MailMessage mail = new MailMessage();
            mail.From = new MailAddress("123456@qq.com");	// 发件人
            mail.To.Add("okbase@163.com");	// 收件人
            mail.Subject = "文件已经发给你了";
            mail.Body = "请及时查收";
            mail.BodyEncoding = Encoding.UTF8;
            mail.IsBodyHtml = false;
            mail.Priority = MailPriority.Normal;

            try
            {
                smtp.Send(mail);
                Console.WriteLine("发送成功");
            }
            catch (System.Net.Mail.SmtpException ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }
}

二、利用GMail发送邮件的例子
(代码来自网络)   

 

using System.Net.Mail;
 
MailMessage msg = new MailMessage();
msg.To.Add("a@gmail.com,b@msn.com");//收件者,以逗号分隔不同收件者
//msg.CC.Add("c@msn.com");//副本
//msg.Bcc.Add("d@yahoo.com");//密件副本
 
//3个参数分别是发件人地址(可以随便写),发件人姓名,编码
msg.From = new MailAddress("abc@gmail.com", "发件人姓名", 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.gmail.com", 587);
 
    //设定你的帐号密码
    MySmtp.Credentials = new System.Net.NetworkCredential("帐号","密码");
 
    //Gmial 的 smtp 使用 SSL
    MySmtp.EnableSsl = true;
 
    //发送Email
    //MySmtp.Send("", "", "C# Gmail发信测试", "文件内容");
    MySmtp.Send(msg);
 
    Page.ClientScript.RegisterStartupScript(this.GetType() , "MyScript" , "alert('发送成功!');" , true);
     
}
catch (System.Net.Mail.SmtpException ex)
{
    Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript", "alert('发送失败!');", true);
}

三、异步发送方式
(代码来自网络) 

 

using System.Net.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@gmail.com password 
smtp.Credentials = new NetworkCredential("用户名", "密码"); 
smtp.Port = 25; // Gmail 使用 465 和 587 端口 
smtp.Host = "SMTP 服务器地址"; // 如 smtp.163.com, smtp.gmail.com 
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("发送完成。"); 
    } 
}

(全文完)

 

 

 


评论列表
优德88官方网站
不错哦。。博客做的真棒啊。。

发表评论
切换编辑模式