C#定時發送郵箱設定

來源:互聯網
上載者:User

標籤:send   操作   sage   error   逾時   命令   匹配   定時   同事   

今天臨時維護了前同事做的定時發送郵件Demo。

 

原來是使用網易163郵箱定時發送,但是會出現郵箱收不到郵件的情況。

今天把它改成了qq郵箱,發現qq郵箱比較穩定,基本沒有漏掉的郵件。

 

但是在改的過程中,出現了一些配置上的問題,趁有時間記錄下來。

 

1.先改smtp伺服器,這個就不用說了。qq郵箱為smtp.qq.com

 

2.接著用你的qq登入郵箱,在設定——賬戶中,開啟pop3/stmp設定(如果你的郵箱是剛啟用的,需要等待十四天才能使用該功能)

 

3.開啟後需要產生授權碼,(qq郵箱在第三方用戶端中,只支援使用帳號+授權碼,為了安全)

具體設定可見:http://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28

 

4.而網易原來是用沒有使用ssl加密的25連接埠,到了qq郵箱,就不行了。必須要用ssl加密的465/587連接埠

 

基本是設定成這樣,就可以使用SmtpClient類的執行個體Send方法發送郵件了,使用MailAddress類和MailMessage類封裝要發送的資訊。

 

其中遇到的問題:

(1)命令順序不正確。 伺服器響應為:Error: need EHLO and AUTH first !

解決方案:要開啟smtp服務,入上所示。

 

(2)這裡的密碼使用授權碼。

 

(3)參數或變數中有語法錯誤。 伺服器響應為: mail from address must be same as authorization user

qq郵箱需要使用授權碼登入,而不是郵箱密碼。

 

 

暫未解決的問題:

<1>.不知道為什麼使用465連接埠,一直顯示操作逾時。而使用587連接埠則一直能正常發送。

有大神知道為什麼嗎??請指教。

 

<2>.目前代碼是使用Timer每秒來匹配一次設定檔的時間,如果相同,則執行發送郵件的代碼。

感覺有點麻煩,接下來打算使用quartz.net來執行定時任務,應該更合適。

 

C#定時發送郵箱設定

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.