簡體   English   中英

SmtpClient.SendAsync()不再起作用

[英]SmtpClient.SendAsync() does not work anymore

我最近購買了一台新計算機,現在我的電子郵件再也沒有發送過,也絕不會引發任何異常。

有人可以提供一些使用SmtpClient類的示例嗎? 任何幫助將不勝感激。

謝謝

更新


好的-我現在添加了憑據。 並且可以同步成功發送電子郵件。 但是我仍然不能異步發送它們。

舊:嘗試同步發送電子郵件后,我收到以下異常:

交易失敗。 服務器響應為:

5.7.1 <myfriend@hotmails.com> :中繼訪問被拒絕。

您可以通過Async()發送郵件。 您應如何遵循以下代碼,

smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted);
smtpClient.SendAsync(mailMessage, mailMessage);

並且,如果您使用的是異步操作,則還需要使用類似的事件處理程序,

static void smtpClient_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
    {
        //to be implemented        
    }

通過使用此,您可以發送郵件。

您可以先嘗試使用同步Send方法來驗證是否已使用SMTP服務器正確設置了所有設置,並且沒有任何異常:

var client = new SmtpClient("smtp.somehost.com");
var message = new MailMessage();
message.From = new MailAddress("from@somehost.com");
message.To.Add(new MailAddress("to@somehost.com"));
message.Subject = "test";
message.Body = "test body";
client.Send(message);

備注:在.NET 4中, SmtpClient實現IDisposable,因此請確保將其包裝在using語句中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM