2017-07-02 10 views
-1

メール送信者はC#で作成しましたが、実行するとエラーが発生します。C#でメールを送信する際にエラーが発生しました

が、これは私のコードです:

MailMessage mail=new MailMessage("[email protected]","[email protected]","subject","this is a test"); 
     SmtpClient smtp =new SmtpClient("smtp.gmail.com"); 
     smtp.Port=587; 
     smtp.Credentials= new System.Net.NetworkCredential("username","pass"); 
     smtp.Send(mail); 

、これは誤りです:

System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Must issue a STARTTLS command first. 79sm6578238wrc.34 - gsmtp

+1

設定してみてください[ '.EnableSsl = TRUE;'](https://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.enablessl(V = vs.110) .aspx) – freefaller

答えて

-1

ユーザ名と下の行でパスされている生の文字列ですか?エラーが発生します。

smtp.Credentials= new System.Net.NetworkCredential("username","pass"); 

NetworkCredentialの では、送信者のメールアドレスとパスワードを提供する必要があります。例えば

string username = "[email protected]"; 
string pass = "whatever_your_password_is"; 
smtp.Credentials= new System.Net.NetworkCredential(username,pass); 
+0

@ freefallerの解決策を試してください...うまくいきます –

0

私は、これらのパラメータでGmailを使用します。

SmtpClient smtpClient = new SmtpClient(); 
smtpClient.Host = "smtp.gmail.com"; 
smtpClient.Port = 587; 
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; 
smtpClient.EnableSsl = true; 
smtpClient.UseDefaultCredentials = false; 
smtpClient.Credentials = new NetworkCredential(smtp_user, smtp_pass); 
smtpClient.Send(message); 
関連する問題