国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

發送郵件程序(Csharp2005)

2019-11-18 17:14:01
字體:
來源:轉載
供稿:網友

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


發送郵件解決方案下載

接下來,我來說一下我開發的過程與體會:
創建發送郵件客服端步驟:
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.VEVb.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

 

結束.

出處:http://xuanfeng.VEVb.com/archive/2006/05/15/400156.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资溪县| 闻喜县| 图木舒克市| 民勤县| 诸城市| 建阳市| 郸城县| 怀宁县| 阜阳市| 大埔区| 乐亭县| 突泉县| 汤原县| 商水县| 宁南县| 体育| 榆社县| 民勤县| 调兵山市| 宁乡县| 绥宁县| 汾西县| 吉木乃县| 贺州市| 鹿邑县| 石棉县| 鄱阳县| 云安县| 巴里| 遵义市| 田阳县| 罗定市| 潮州市| 丰都县| 秭归县| 三河市| 平舆县| 昌吉市| 万年县| 江永县| 孟连|