2016-09-02 17 views
2

gmail stmpサーバーを使用してC#経由でメールを送信しようとしていますが、Gmailチームからという電子メールが届いていました。。今私は、より安全性の低いアプリケーションがGoogleにサインインできるように設定を変更しましたが、私はmyself.Belowに電子メールを送信できません、私のコードです。C#経由でメールを送信

private static string sendMail(System.Net.Mail.MailMessage mm) 
    { 
     try 
     { 
      string smtpHost = "smtp.gmail.com"; 
      string userName = "[email protected]";//write your email address 
      string password = "xxxxxx";//write password 
      System.Net.Mail.SmtpClient mClient = new System.Net.Mail.SmtpClient(); 
      mClient.Port = 587; 
      mClient.EnableSsl = true; 
      mClient.UseDefaultCredentials = false; 
      mClient.Credentials = new NetworkCredential(userName, password); 
      mClient.Host = smtpHost; 
      mClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; 
      mClient.Send(mm); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.ToString()); 
     } 

     return "Send Sucessfully"; 
    } 
private void f() 
     { 
      i = i + 1; 
     string sysName = string.Empty; 
     string sysUser = string.Empty; 
     System.Net.Mail.MailAddress toAddress = new System.Net.Mail.MailAddress("[email protected]"); 
     System.Net.Mail.MailAddress fromAddress = new System.Net.Mail.MailAddress("[email protected]"); 
     System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage(fromAddress, toAddress); 
     sysName = System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString(); 
     sysUser = System.Security.Principal.WindowsIdentity.GetCurrent().User.ToString(); 
     mm.Subject = sysName + " " + sysUser; 
     string filename = string.Empty; 
     mm.IsBodyHtml = true; 
     mm.BodyEncoding = System.Text.Encoding.UTF8; 
     MessageBox.Show(sendMail(mm).ToString()); 
     //sendMail(mm); 
    } 
    private void Form1_Load(object sender, EventArgs e) 
    { 
     f(); 
    } 

また、私はyahooアカウントでも同じことを試みました。また、私は全く電子メールを受け取りませんでした。 私はポートを465に変更し、smtphostを「mail.yahoo.com」に、電子メールアドレスを[email protected]に変更しました。

+1

世界的に人気のある検索エンジンで「Googleが安全性の低いアプリのGoogleアカウントへのアクセスをブロックした」と検索した場合、トップリンクは何をすべきかを完全に明確に説明しています。 [安全性の低いアプリのアカウントへのアクセスを許可する](https://support.google.com/accounts/answer/6010255?hl=ja)このソリューションはあなたに不満ですか? – spender

+0

@spender私はちょうど、2つの結果を得た、どちらも役に立たなかった。 – Renan

+0

アカウントの設定「安全性の低いアプリのアクセス」を有効にしても問題はありませんか?あなたは間違いなくこれをやったのですか? – spender

答えて

0
protected void SendMail() 
{ 
    // Gmail Address from where you send the mail 
    var fromAddress = "[email protected]"; 
    // any address where the email will be sending 
    var toAddress = YourEmail.Text.ToString(); 
    //Password of your gmail address 
    const string fromPassword = "Password"; 
    // Passing the values and make a email formate to display 
    string subject = YourSubject.Text.ToString(); 
    string body = "From: " + YourName.Text + "\n"; 
    body += "Email: " + YourEmail.Text + "\n"; 
    body += "Subject: " + YourSubject.Text + "\n"; 
    body += "Question: \n" + Comments.Text + "\n"; 
    // smtp settings 
    var smtp = new System.Net.Mail.SmtpClient(); 
    { 
     smtp.Host = "smtp.gmail.com"; 
     smtp.Port = 587; 
     smtp.EnableSsl = true; 
     smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; 
     smtp.Credentials = new NetworkCredential(fromAddress, fromPassword); 
     smtp.Timeout = 20000; 
    } 
    // Passing values to smtp object 
    smtp.Send(fromAddress, toAddress, subject, body); 
} 

このコードを使用してください。 コードを実行しています。

関連する問題