日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

发送邮件程序(Csharp2005)

發布時間:2023/11/27 生活经验 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 发送邮件程序(Csharp2005) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我覺得懂得編寫發送郵件客服端豐常重要.這可以把它嵌入到你的軟件里加強與用戶的溝通與可以收集程運行的錯誤信息.以與我編寫一小的發送郵件客服端來與在家交流.
程序如下:

發送郵件解決方案下載 ?

接下來,我來說一下我開發的過程與體會:
創建發送郵件客服端步驟:
1.創建Smtp服務器.
2.創建發件人,與收件人郵箱地址.
3.創建發送信息.
4.建件發送附件.

1.Smtp服務器,可用本地的也可以用其它的可用有Smtp服務器.如。smtp.126.com;smtp163.com.
需要注意的時:
(1)如果用本的的,本地要裝Smtp用服也就是系統組件,默認沒有安裝。
(2)如果用郵件服務商的,你要有其上面的帳號與密碼,即你要申請個郵箱,做為的身份認證。
?(3)smtp類初始化時只能用IP而不能用用務器名稱。因為我個人覺得,一般提供郵件服務都有好幾臺服務器。你在CMD?命令行里,ping?smtp.126.com,在不同時候返回不同的IP。這個問題找了很久才發覺。所在在程序里要用先得到,Smtp服務器的IP列表,然后用PING?命令判斷那個可用。然后再用此IP來初始化Smtp服務類。
??????????????取得SMTP服務器列表.
??http://xuanfeng.cnblogs.com/archive/2006/05/15/400158.html(此連接是有我一編寫的一個取得網絡信息的解決方案可以查找服務器的IP地址的列表.)
??????????????IPAddress[]?IpAddress?=?Dns.GetHostEntry(ServerName).AddressList;
????????????????Ping?ping?=?new?Ping();
????????????????PingReply?pingReply?=?null;
????????????????//取得smt服務器可用的IP
????????????????foreach?(IPAddress?IP?in?IpAddress)
????????????????{
????????????????????pingReply?=?ping.Send(IP);
????????????????????if?(pingReply.Status?==?IPStatus.Success)
????????????????????{
????????????????????????ip?=?IP.ToString();
????????????????????????break;

????????????????????}

????????????????}

????????????????SmtpClient_my?=?new?SmtpClient(ip,?Port);


2.創建發件人,與收件人郵箱地址.
MailAddress_from?=?new?MailAddress(Tb_Email_from.Text,?Tb_Print.Text);
MailAddress_to?=?new?MailAddress(Tb_Email_to.Text);

3.創建發送信息
?MailMessage_my?=?new?MailMessage();
MailMessage_my.Subject?=?Tb_Content.Text;
????????????????MailMessage_my.ReplyTo?=?MailAddress_from;
????????????????MailMessage_my.Sender?=?MailAddress_from;
????????????????MailMessage_my.From?=?MailAddress_from;
????????????????MailMessage_my.To.Add(MailAddress_to);


4.建件發送附件.

?Attachment_my?=?new?Attachment(path,?MediaTypeNames.Application.Octet);

注意要控制附件的大小,因為很多郵件服務商附件大小都是有限件的。

?FileStream?FileStream_my?=?new?FileStream(path,?FileMode.Open);
????????????????string?name?=?FileStream_my.Name;
????????????????int?size?=?(int)(FileStream_my.Length?/?1024);
????????????????//控制文件大小不大于10M
????????????????if?(size?>?10240)
????????????????{

????????????????????MessageBox.Show("文件長度不能大于10M!你選擇的文件大小為{0}",?size.ToString());
????????????????????return;
????????????????}

????????????????FileStream_my.Close();

5。發送后事件處理。
??創建事件
?SmtpClient_my.SendCompleted?+=?new?SendCompletedEventHandler(SmtpClient_my_SendCompleted);
?事件處理函數。
void?SmtpClient_my_SendCompleted(object?sender,?AsyncCompletedEventArgs?e)
????????{
????????????if?(e.Cancelled)
????????????{?MessageBox.Show("發送已取消!");?}
????????????if?(e.Error?!=?null)
????????????{

????????????????MessageBox.Show(e.UserState.ToString()?+?"發送錯誤:"?+?e.Error.Message,?"發送錯誤",?MessageBoxButtons.OK,?MessageBoxIcon.Error);

????????????}
????????????else
????????????{
????????????????MessageBox.Show("郵件成功發出!",?"恭喜!",?MessageBoxButtons.OK,?MessageBoxIcon.Information);
????????????}

????????}?
????????#endre?

總結

以上是生活随笔為你收集整理的发送邮件程序(Csharp2005)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。