簡體   English   中英

如何使用c#發送電子郵件?

[英]How do I send an Email using c#?

我試圖制作一個Windows窗體,該窗體在用戶單擊按鈕時發送電子郵件,但每次嘗試時,都會引發異常:發送郵件失敗。 我的代碼有什么問題?

    private void button1_Click(object sender, EventArgs e)
    {
        SmtpClient smtpClient = new SmtpClient();
        NetworkCredential basicCredential =
            new NetworkCredential("username", "password");
        MailMessage message = new MailMessage();
        MailAddress fromAddress = new MailAddress("myemailadress@gmail.com");

        smtpClient.Host = "smpt.gmail.com";
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = basicCredential;

        message.From = fromAddress;
        message.Subject = "your subject";
        //Set IsBodyHtml to true means you can send HTML email.
        message.IsBodyHtml = true;
        message.Body = "<h1>your message body</h1>";
        message.To.Add("towhomisend@yahoo.com");

        try
        {
            smtpClient.Send(message);
        }
        catch (Exception ex)
        {
            //Error, could not send the message
            MessageBox.Show(ex.Message);
        }
    }

使用"smtp.gmail.com"而不是"smpt.gmail.com"

1)檢查SMTP設置是否正確以及服務器配置是否正確(主機和端口設置)

2)檢查憑據(用戶名和密碼)是否正確

3)檢查防火牆是否阻止了請求

4)。檢查端口587是否在防火牆中被阻止

端口587:這是默認的郵件提交端口。 當郵件客戶端或服務器提交要由適當的郵件服務器路由的電子郵件時,它應始終使用此端口。

'smtpClient.Host =“ smpt.gmail.com”;' 部分不正確。

將“ smpt.gmail.com”更改為“ smtp.gmail.com”

“ SMTP”-不-“ SMPT”

使用"smtp.gmail.com" instead of "smpt.gmail.com"

除了再確認一件事,您必須在gmail中啟用來自其他程序的電子郵件。 當您嘗試發送一次時,您會在電子郵件ID中收到一條通知。 您必須在那里啟用它。

暫無
暫無

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

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