日韩欧美人妻无码精品白浆,www.大香蕉久久网,狠狠的日狠狠的操,日本好好热在线观看

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

全面介紹C#實(shí)現(xiàn)簡(jiǎn)單的SmtpClient及SSL發(fā)送帶附件郵件---Good!

admin
2017年11月7日 21:12 本文熱度 8432

SMTP(Simple Mail Transport Protocol)簡(jiǎn)單郵件傳輸協(xié)議。在.NET Frameword類庫(kù)中提供SmtpClient類(System.Net.Mail),她提供了一個(gè)輕型方法來(lái)發(fā)送SMTP電子郵件信息。SmtpClient類中的Bcc屬性是用來(lái)指定此電子郵件抄送的收件人的集合,這就意味著可以為每個(gè)郵件制定多個(gè)收件地址。Attachmenty屬性也是一個(gè)集合,可以使用它為郵件添加多個(gè)附件。 發(fā)送郵件中用的其他類主要還有:

1. Attachment類,表示文件附件,它允許將文本、流、文件附加到電子郵件中。

2. MailAddress類,表示郵件地址。

3. MailMessage類,表示電子郵件。

            string host = "smtp.163.com";//   郵件服務(wù)器smtp.163.com表示網(wǎng)易郵箱服務(wù)器

            string userName = "15764226619@163.com";   //發(fā)送端賬號(hào)

            string password = "password";   //發(fā)送端密碼(這個(gè)客戶端重置后的密碼)

            SmtpClient mailClient = new SmtpClient(host);

            //SmtpClient mailClient = new SmtpClient(host, 25);

            //mailClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定電子郵件發(fā)送方式

            //Credentials登陸SMTP服務(wù)器的身份驗(yàn)證.

            //mailClient.EnableSsl = false; //不啟用ssl加密

            mailClient.UseDefaultCredentials = true;

            mailClient.Credentials = new NetworkCredential(userName, password);

            //test@qq.com發(fā)件人地址、test@tom.com收件人地址

            MailMessage message = new MailMessage(new MailAddress("test@qq.com"),new MailAddress("test@tom.com"));

            //MailMessage message = new System.Net.Mail.MailMessage();  //另外一種方式創(chuàng)建發(fā)信連接,可以支持多人收信

            //message.From = new MailAddress(userName, "賬戶名");  //發(fā)信郵件賬戶

            //message.From = new MailAddress(userName, "賬戶名", System.Text.Encoding.UTF8);  //發(fā)信郵件賬戶,3個(gè)參數(shù)分別是發(fā)件人郵箱,發(fā)件人姓名,編碼

            //message.To.Add(new MailAddress("11@qq.com")); //收信主送郵件賬戶,可接受多個(gè)郵件地址,用逗號(hào)分隔即可,或者反復(fù)增加本行也可以接收多個(gè)收信人

            //message.To.Add(new MailAddress("11@qq.com", "賬戶名")); //收信主送郵件賬戶,含賬戶名

            //message.CC.Add(new MailAddress("21@qq.com")); //收信抄送郵件賬戶,可接受多個(gè)郵件地址,用逗號(hào)分隔即可,或者反復(fù)增加本行也可以接收多個(gè)收信人

            //message.Bcc.Add(new MailAddress("tst@qq.com")); //可以添加多個(gè)收件人,用逗號(hào)分隔即可

            //message.IsBodyHtml = true;

            //message.SubjectEncoding = System.Text.Encoding.UTF8;  //郵件主題編碼,采用UTF8格式

            //message.BodyEncoding = System.Text.Encoding.UTF8;

            //message.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");  //郵件內(nèi)容編碼,采用GB2312格式

            //message.Priority = System.Net.Mail.MailPriority.High;

            message.Body = "Hello Word! 郵件發(fā)送測(cè)試";    //郵件內(nèi)容

            message.Subject = "this is a test";   //郵件主題

            //Attachment 附件

            Attachment att = new Attachment(@"C:/hello.txt");

            message.Attachments.Add(att);   //添加附件

            //Attachment att1 = new Attachment(@"C:/welcome.txt");

            //message.Attachments.Add(att1);   //繼續(xù)添加附件

            Console.WriteLine("Start Send Mail....");

            //發(fā)送....

            mailClient.Send(message);

            Console.WriteLine("Send Mail Successed");

            Console.ReadLine();

注意上面的發(fā)件人地址和發(fā)信人賬號(hào)要一致,否則通不過(guò)驗(yàn)證。OK,這樣就可以成功發(fā)送郵件了。


該文章在 2017/11/8 11:42:01 編輯過(guò)

全部評(píng)論4

admin
2017年11月7日 22:37
//C#多個(gè)郵件地址是否合法、重復(fù)、以及字符串首尾去逗號(hào)代碼及其他處理
string addresses = "";
AddressList = AddressList.Replace(",", ",").Replace(";", ",").Replace(";", ",").Trim();
string[] strArray = AddressList.Split(new char[] { '','' });
int length = strArray.Length;
for (int i = 0; i < length; i++)
{
//判斷地址是否合法、是否重復(fù)
    if (((strArray[i].Contains("@") && strArray[i].Contains(".")) && !addresses.ToLower().Contains((strArray[i] + ",").ToLower())) && (strArray[i].Trim
().ToLower().IndexOf(str.Trim().ToLower()) > 0))
    {
        addresses = addresses + strArray[i] + ",";
    }
}
if (addresses.EndsWith(","))
{
    addresses = addresses.Substring(0, addresses.Length - 1);
}
if (addresses.StartsWith(","))
{
    addresses = addresses.Substring(1, addresses.Length - 1);
}
mailMessage.To.Add(addresses);

該評(píng)論在 2017/11/7 22:37:55 編輯過(guò)
admin
2017年11月7日 22:44

我今天測(cè)試了一下,不管是什么免費(fèi)郵箱的smtp,一般每天都會(huì)有郵件發(fā)送數(shù)量的上限,163一般為50封,qq一般為100f封,超過(guò)了這個(gè)上限當(dāng)天就不允許再發(fā)送郵件了。

QQ郵箱不是你想進(jìn)就進(jìn)的。這種東西不是頭腦一熱就能成的,期望的與實(shí)際相差很遠(yuǎn)。做什么項(xiàng)目都應(yīng)該先考慮好,不要盲目的弄。
1.QQ郵箱那邊有內(nèi)容檢測(cè),廣告、鏈接、圖片盡量少帶;
2.IP頻繁問(wèn)題,163會(huì)以你自己真實(shí)的IP進(jìn)行發(fā)送(猜測(cè),如果是服務(wù)器代發(fā),那就和發(fā)件人有關(guān));
3.發(fā)件人頻繁問(wèn)題(發(fā)多了拉黑);
4.域名黑名單,ip黑名單(發(fā)多了拉黑,舉報(bào)核實(shí)拉黑);
5.被舉報(bào)可能被系統(tǒng)攔截(可以點(diǎn)擊我的信息->收信查詢->查看收件狀態(tài));
6.個(gè)別短號(hào)的QQ郵箱是發(fā)不進(jìn)的,切記。短號(hào)的攔截方式和長(zhǎng)號(hào)的有些區(qū)別,如:666222與789456123的攔截方式不同。


其他可以嘗試的方法:

不借助第三方SMTP服務(wù)器,在本機(jī)安裝SMTP服務(wù)器,比如免費(fèi)的Free SMTP Server。

裝完之后無(wú)需任何設(shè)置,啟動(dòng)SMTP服務(wù)器,再運(yùn)行上面的程序,一切正常。

但是如果使用本地的SMTP服務(wù)器(比如本機(jī)IIS的SMTP服務(wù)器)發(fā)送郵件,會(huì)被許多大型網(wǎng)站的郵箱當(dāng)做垃圾郵件來(lái)處理,原因是本地SMTP服務(wù)器的地址并不為人所知,發(fā)送的郵件理所當(dāng)然會(huì)被當(dāng)做來(lái)歷不明的郵件,所以一般要借助一些大型知名網(wǎng)站的SMTP服務(wù)器來(lái)為我們發(fā)送郵件。


該評(píng)論在 2017/11/7 23:33:42 編輯過(guò)
admin
2017年11月7日 22:58
//異步執(zhí)行,帶回調(diào)效果演示
SmtpClient smtp = new SmtpClient();
smtp.Host = mailServer.Host;
smtp.Port = 25;
smtp.EnableSsl = false;
smtp.UseDefaultCredentials = false;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(mailServer.Email,mailServer.Pwd);
smtp.EnableSsl = true;
smtp.SendCompleted += new SendCompletedEventHandler(smtp_SendCompleted);
MailAddress from = new MailAddress(mailServer.Email,"小王");
MailAddress to = new MailAddress(toMail,toMail.Substring(0,toMail.IndexOf("@")));
MailMessage mail = new MailMessage(from, to);
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
mail.IsBodyHtml = true;
mail.Priority = MailPriority.High;
mail.ReplyTo = from;
mail.Sender = from;
mail.Subject = title;
mail.Body = content;
mail.BodyEncoding = Encoding.Default;
smtp.SendAsync(mail, toMail);

下面是SendAsync函數(shù)的回調(diào)函數(shù):
void smtp_SendCompleted(object sender, AsyncCompletedEventArgs e)
        {
            string msg = e.UserState.ToString();
            SmtpClient smtp = (SmtpClient)sender;
            if (e.Error == null)//問(wèn)題出現(xiàn)后,這里的Error并沒有錯(cuò)誤
            {
                msg+= ",1";//發(fā)送成功
            }
            else
            {
                msg += ",0";
                smtp.SendAsyncCancel();
            }
            if (lvMailTo.InvokeRequired)
            {
                lvMailTo.BeginInvoke(new UpdateListDelegate(UpdateList), msg);
            }
            smtp.Dispose();
            _event.Set();
        }

該評(píng)論在 2017/11/7 23:52:14 編輯過(guò)
admin
2017年11月7日 23:9

使用C#和.Net通過(guò)SMTP發(fā)送郵件詳解

    到目前為止,發(fā)電子郵件已經(jīng)不是什么新聞了,.Net中包含郵件客戶端并不足為奇。一個(gè)老的編程事實(shí)任然有效:所有程序?qū)U(kuò)大到包括最終發(fā)送(接收)的電子郵件。因此,如何增加電子郵件到您的程序?此帖探討我們?nèi)绾文軌蚴褂肧ystem.Mail.SmtpClient發(fā)送格式化電子郵件。有許多可供選擇的選項(xiàng),我們將探討其中的大多數(shù)。

   十五年以后事情變得相當(dāng)容易.發(fā)送電子郵件最直接的就是調(diào)用一些基本的庫(kù)函數(shù)和.Net的一些固定的實(shí)現(xiàn)。

快速發(fā)送電子郵件
如果您迫不及待的話,可以使用下面帶有4字符串參數(shù)的
構(gòu)造函數(shù)創(chuàng)建一個(gè)簡(jiǎn)單的郵件。
// public client.Send(string from,string to,string subject,string body)
using System.Net.Mail;
SmtpClient client = new SmtpClient();
client.Send("
martijn@seamana.cn","test@seamana.cn","Testing!","If this break again,.. I won''t know what to do");
在上面的例子中的電子郵件使用系統(tǒng)的NET框架默認(rèn)設(shè)置為發(fā)現(xiàn)的發(fā)送的。如果你對(duì)什么自己系統(tǒng)作為默認(rèn)的SMTP服務(wù)器感到好奇,您可以查詢SmtpClient.Host
Console.WriteLine("Default SMTP Server: {0}",client.Host);
請(qǐng)注意,有可能.NET libraries是無(wú)法制訂SMTP主機(jī),當(dāng)您嘗試發(fā)送電子郵件會(huì)失敗并出現(xiàn)System.InvalidOperationException ( SMTP主機(jī)未指定)的異常。

發(fā)送一封合適的郵件
一個(gè)基本的電子郵箱是一個(gè)發(fā)件人,一個(gè)或多個(gè)收件人的郵件正文和一個(gè)或多個(gè)附件組成的。當(dāng)然,電子郵件可能是一種過(guò)時(shí)的俄羅斯字體的編碼。
MailAddress toUser = new MailAddress("
martijn@seamana.cn");
MailAddress toUser2 = new MailAddress("
martijn@seamana.cn","Martijn Dijksterhuis");
MailAddress toUser3 = new MailAddress("
martijn@seamana.cn","Martijn Dijksterhuis", System.Text.Encoding.UTF8);
名字中不包括任何特殊的字符,所以指定默認(rèn)的UTF - 8編碼。
 
發(fā)送一封只有單一的發(fā)送和接收者的電子郵件
如果您的電子郵件只包含一個(gè)單一的發(fā)送者和一個(gè)接收者,MailMessage ( MailAddress From, MailAddress To)構(gòu)造函數(shù)提供了所有您所需要的。它創(chuàng)建一個(gè)新的電子郵件的結(jié)構(gòu),分配發(fā)送者和接收者的構(gòu)造方法。
MailAddress toUser = new MailAddress("
myfriend@yahoo.com");
MailAddress fromUser = new MailAddress("
aishijie36@hotmail.com");
MailMessage msg  = new MailMessage(fromUser,toUser);
 
增加更多相同的電子郵件的接收者
一個(gè)單一的收件人可能是不夠的。不要擔(dān)心,您可以添加許多人到你的電子郵件,只要你想。
msg.To.Add( new MailAddress("
second_to@seamana.cn") );
msg.CC.Add( new MailAddress("
first_cc@seamana.cn") );
 msg.CC.Add( new MailAddress("
second_cc@seamana.cn") );
msg.Bcc.Add( new MailAddress("
first_bcc@seamana.cn") );
 
設(shè)置電子郵件主題和內(nèi)容
設(shè)置電子郵件的主題,并不難,只需通過(guò)Msg.Subject設(shè)置它 。如果你可以使用如Unicode的其他方式編碼。
msg.Subject = "我的心太亂"
msg.SubjectEncoding = Encoding.GetEncoding("big5");
 
以非常類似的方式來(lái)設(shè)置郵件正文
msg.Body = "Dear Customer, " + Environment.NewLine + Environment.NewLine;
msg.Body += "Because of repeated violations of our terms and conditions we had no choice but to";
msg.Body += "terminate your account with us." + Environment.NewLine + Environment.NewLine;
msg.Body += "The Management";
msg.BodyEncoding = System.Text.Encoding.UTF8;
 
添加附件到電子郵件
電子郵件可以擁有一個(gè)以上的附件,每個(gè)附件的繼承于System.Net.Mail.Attachment類。您可以通過(guò)調(diào)用" Attachments.Add ( ) "把它們添加到附件容器。
using System.Net.Mime;
Attachment firstAttachment = new Attachment("document.doc",MediaTypeNames.Application.Octet);
MailMessage msg  = new MailMessage(fromUser,toUser);
msg.Attachments.Add(firstAttachement);
 
第一個(gè)參數(shù)傳遞給構(gòu)造函數(shù)是包含附件的路徑。如果沒有完整的路徑,給出了當(dāng)前的工作目錄。該文件類型的在System.Net.Mime中定義 -可用選項(xiàng)有:
MediaTypeNamesApplicationOctet
  PDF
  RTF
  Soap
  Zip
 ImageGif
  JPEG
  Tiff
 TextHTML
  Plain
  RichText
  XML

如果該類型的文件未指定使用MediaTypesNames.Application.Octet ,怎顯示"數(shù)據(jù)沒有解釋。 " 
 
添加自定義電子郵件標(biāo)題到您的電子郵箱
Msg.Header屬性允許查詢和添加.NET框架所設(shè)定的電子郵件標(biāo)題。全新的電子郵件將只包含一個(gè)標(biāo)題: "Mine: 1.0 " 。
MailMessage Msg = new MailMessage(new  MailAddress("
martijn@seamana.cn"),newMailAddress("martijn@seamana.cn"));
 
// Add a custom header to the e-mail
Msg.Headers.Add("X-Header","2.0");
 
// Display all the message headers.
string[] Keys = Msg.Headers.AllKeys;
foreach (string s in Keys) 
Console.WriteLine("{0}: {1}", s,Msg.Headers[s]);
 
用SmtpClient發(fā)送電子郵件
  通過(guò)the SmtpClient class發(fā)送電子郵件的艱巨工作實(shí)際只需要下面兩行代碼:
SmtpClient client = new SmtpClient();
client.Send(Msg);
 
SmtpFailedRecipientsException: The message could not be delivered to one or more of the recipients in To, CC, or Bcc.
SmtpException : Connection failed, authentication failed or a time-out
ArgumentNullException / ArgumentOutOfRangeException / InvalidOperationException : Something wrong with the input fields of the e-mail
 
如果您沒有指定任何參數(shù),SmtpClient默認(rèn)構(gòu)造函數(shù)將查找使用.NET環(huán)境。
SMTP服務(wù)器
您可以通過(guò)第二構(gòu)造方法指定一個(gè)特定的服務(wù)器和可選端口
SmtpClient client = new SmtpClient("mail.dijksterhuis.org",3000); 
 
上述SmtpClient.Send是阻塞調(diào)用-當(dāng)電子郵件傳送時(shí)您的應(yīng)用程序應(yīng)停止。當(dāng)然也有一個(gè)

異步調(diào)用: SmtpClient.SendAsync 
使用SmtpClient.SendAsync是多做一點(diǎn)工作。如何做到這一點(diǎn)請(qǐng)看以下示例:
using System;

using System.Net.Mail;

using System.Threading;

using System.ComponentModel;

namespace SnmpMailer

  

  class MainClass   

        

   static Semaphore mailSendSemaphore;        

   private static void MailSendCallback(object sender, AsyncCompletedEventArgs arg)  

             

      // Get our unique token for this asynchronous operation.           

     String token = (string) arg.UserState;            

      // Did the user abort the sent ?           

     if (arg.Cancelled)               

        Console.WriteLine("[{0}] Send canceled.", token);         

      // Did an error occur during the send?           

     if (arg.Error != null)                

        Console.WriteLine("[{0}] {1}", token, arg.Error.ToString());              

      else               

        Console.WriteLine("Message sent succesfully!");            

      // Release the main thread           

      mailSendSemaphore.Release();       

            

 

  public static void Main(string[] args)       

            

   mailSendSemaphore = new Semaphore(0,1);   

   // Create the mail message with to &amp;amp;amp;amp;amp;amp;amp;amp; from   

    MailMessage Msg = new MailMessage(new MailAddress("noreply@dijksterhuis.org"), 

                    new MailAddress("martijn@dijksterhuis.org"));            

    Msg.Body = "Dear Customer, " + Environment.NewLine + Environment.NewLine;   

    Msg.Body += "Because of repeated violations of our terms and conditions we had

                no choice  but to";           

    Msg.Body += "terminate your account with us." + Environment.NewLine   

               Environment.NewLine;   

    Msg.Body += "The Management";           

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

    // Set the subject           

    Msg.Subject = "Termination of service notice"; 

    // Add our own header           

    Msg.Headers.Add("X-Deliverator","Terminator");    

    // Deliver the message in an asynchronous fashion           

    SmtpClient Deliverator = new SmtpClient("mymailserver.com");   

    // Print the default client           

    Console.WriteLine("Default SMTP Server: {0}",Deliverator.Host);  

    // Specify the call back function           

    Deliverator.SendCompleted += new SendCompletedEventHandle(MailSendCallback); 

    // For an asyncronous call we can pass a token to help us determine

    //  the message being send  

    Deliverator.SendAsync(Msg,"Msg ID 1212");   

    // Because we have little else to do, we set a semaphore and wait               

    mailSendSemaphore.WaitOne();            

    Console.WriteLine("Mail delivery finished");       

      

  }

}


該評(píng)論在 2017/11/8 0:02:31 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

欧美一区二区三区在线观看视频| 欧洲一级无码XXX| 天天日天天天天天射| 欧美色精品在线视频| 亚洲综合中文字幕在线一区| 超级碰碰| 在线一级二级欧美女| 婷婷激情五月AV| 强奸丝袜五月天| 97欧美一区| 久久99精品久久齐齐| 亚洲av麻豆成人免费影视| 精品人妻久久久久中文字幕| 欧美激情不卡一区二区| 看日本搞逼片| 精品欧美乱码久久久2区| 色呦呦久久久w| 蜜月久久毛片网站| 亚洲日韩欧美电影一二三区| 精品少妇免费久久AW| 成人AV簧色| 91国产经典三级在线| 黄色网成人日韩电影院| 国产欧美日韩bj视频免费| 久久AV高潮AV高潮| 无码一区手机看| 精品人妻内射| 国产高清自拍在线观看| 欧美精品一区二区A户‘| 欧美乱码三区| 色综合久久不88| 超碰caoprrn亚洲精品| 日本黄色电影一句二区| 久久久少妇裸照| 国产无套白浆一区| 性色aV一区=区三区| 免费的黄色小说在线| 少妇人妻偷人tubevideo| 久久精品91女同| 免费观看黄色AV网站| 天堂网亚洲一区|