c# 编程实现发email , 用gmail邮箱

1 : 加这两个 using

 

using System.Net.Mail;
using System.Net;

 

 

2 : 发送人 和  收件人的设置

            SmtpClient client = new SmtpClient("smtp.gmail.com", 587)
            {
                Credentials = new NetworkCredential("myEmailAddress@gmail.com", "myPassword"),
                EnableSsl = true
            };


            MailAddress from = new MailAddress(@"myEmailAddress@gmail.com", "myName");
            MailAddress to = new MailAddress(@"whereToSend@com.cn", "receiverName");
            MailMessage myMail = new System.Net.Mail.MailMessage(from, to);

            // set subject and encoding
            myMail.Subject = "Auto send email of route 's perfermance at sometime ";
            myMail.SubjectEncoding = System.Text.Encoding.UTF8;

       //如果要添加抄送

           MailAddress copy = new MailAddress("someone@.com.cn");
            myMail.CC.Add(copy);

 

3 : 写邮件正文 , 例子带一个表格 ,注意 换行用 <br/> , 而不是 "\r\n" , 如果用后者, 在outlook显示不出换行的效果。

            DataTable table = new DataTable();
            table.Columns.Add("ownerVendor", typeof(string));
            table.Columns.Add("priority", typeof(string));
            table.Columns.Add("aditionalParameter", typeof(string));



            table.Rows.Add("JJTEL", "3000", "30");
            table.Rows.Add("ARCA", "2000", "5");
            table.Rows.Add("SHINETOWN", "2000", "5");


            myMail.Body = @"Hi : " + "<br/>" + " below is ." + "<br/>" + @"<table border=""1"">
            <tr>
                <td >
                    &nbsp;</td>
                <td>
                    ASR</td>
                <td>
                    ACD</td>
            </tr>";

            foreach (DataRow row in table.Rows)
            {
                myMail.Body = myMail.Body + @"<tr>
                <td>" +  row["ownerVendor"].ToString() +
                    @"</td>
                <td >" + row["priority"].ToString() +
                @"</td>
                <td>" + row["aditionalParameter"].ToString() +
                @"</td>
            </tr>";
            }

            myMail.Body = myMail.Body + @"</table>";

 

4 : 其他设置

            myMail.BodyEncoding = System.Text.Encoding.UTF8;

            myMail.IsBodyHtml = true;                  //这句很重要

 

5 : 发送

            client.Send(myMail);

 

6 : 邮件的效果类似这样

Hi :
below is .

 

 

ASR

ACD

JJTEL

3000

30

ARCA

2000

5

SHINETOWN

2000

5

posted on 2014-01-09 16:14  齐文宣  阅读(1101)  评论(0编辑  收藏  举报

导航