簡體   English   中英

SMTP電子郵件未發送

[英]SMTP Email not sending

我編寫了一個簡單的程序來發送電子郵件,但發送失敗,給了我一個例外。

這是代碼:

using System.Net;
using System.Net.Mail;

public class test{
    public static void Main()
    {
        SmtpClient client = new SmtpClient();
        client.Host = "smtp.gmail.com";
        client.Port = 465;
        client.EnableSsl = true;
        client.Credentials = new NetworkCredential("myemail@gmail.com","mypassword");
        client.Send("myemail@gmail.com","myemail@gmail.com","Test","Test");
    }
}

注意:只需添加以下代碼行:

client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;

並將端口更改為587,然后說需要進行身份驗證,然后我放了我的憑據,也許是因為端口587需要TLS而不是SSL(從我今天所學的搜索知識中,我知道SSL是一種“進化的TLS”,否?)

Tunigamer,只是嘗試了下面的代碼,並且有效:

SmtpClient gmailClient = new SmtpClient {
                Host = "smtp.gmail.com",
                Port = 587,
                EnableSsl = true,
                UseDefaultCredentials = false,
                Credentials = new NetworkCredential("email@gmail.com", "password")
            };


            using(MailMessage gMessage = new MailMessage("email@gmail.com", "email@gmail.com", "Test", "Test")) {

                try {
                    gmailClient.Send(gMessage);
                } catch(Exception) { }
            }

另外,我也是從GMAIL收到此通知的,您需要禁用帳戶的登錄安全功能:

在此處輸入圖片說明

暫無
暫無

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

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