2017-10-08 2 views
1

WebアプリケーションでMVC ASP.NET Core 1.1.2を使用しています。私はMailKit 1.18.1.1を使用して連絡先フォームを作成しようとします。私は電子メール(gmail)を介して連絡フォーム情報を送信します。 Webページをローカルに構築すると、すべてが期待通りに機能します。初めてローカルでプログラムを実行したとき、同じエラーが表示されましたが、私のメールアドレスのセキュリティ設定が有効になり、動作し始めました。しかし、私は、ウェブ上でそれを展開するとき、それは私が安全性の低いアプリを有効にするために、セキュリティ設定を設定するにもかかわらず、私は、このようなエラーを与える:ここでAuthenticationException:AuthenticationMechanismTooWeak:5.7.14

AuthenticationException Error Page

は、ホームコントローラの私のSendMailメソッドです:

ここで
public IActionResult SendMail(string name, string phone, string email, string msg) 
     { 
      var message = new MimeMessage(); 
      message.From.Add(new MailboxAddress ("[email protected]")); 
      message.To.Add(new MailboxAddress("[email protected]")); 
      message.Subject = name; 
      message.Body = new TextPart("html") 
      { 
       Text = "Kimden: " + name + "<br>" + "Mail adresi: " + email + "<br>" + 
       "Mesaj: " + msg + "<br>" + "Telefon: " + phone 
      }; 

      using (var client = new SmtpClient()) 
      { 
       client.Connect("smtp.gmail.com", 587); 
       client.Authenticate("[email protected]", "thepassword(I am sure it's correct)"); 
       client.Send(message); 
       client.Disconnect(false); 
      } 

      return View("Contact"); 
     } 

は、フォームのための私のContact.cshtmlコードです:

@using (Html.BeginForm("SendMail", "Home")) 
       { 
      <div class="contactForm"> 
       <form action="" method="POST" role="form" class="form"> 
       <div class="form-group"> 
        <input name ="name" type="text" class="form-control" id="" placeholder="Adın"> 
       </div> 
       <div class="form-group"> 
        <input name ="email" type="email" class="form-control" id="" placeholder="Mail Adresin"> 
       </div> 
       <div class="form-group"> 
        <input name="phone" type="text" class="form-control" id="" placeholder="Telefonun"> 
       </div> 
       <div class="form-group"> 
        <textarea name="msg" class="form-control" id="" placeholder="Mesajın"></textarea> 
       </div> 
       <button type="submit" class="btn buttonCustomPrimary">Mesaj gönder</button> 
       </form> 
      </div> 
       } 

答えて

0

あなたがエラーメッセージに与えられた指示に従ってしようとしたことがありますか?それはあなたが最初にWebブラウザを介してログインする必要があると言います。これはGmailのセキュリティ機能です。

+0

をしかし、私は国民に、このWebアプリケーションを公開するつもりです。メッセージを送信しようとするすべての人が、このロジックで自分のメールアドレスにサインインする必要がありますか? –

+0

いいえ、あなたのウェブサーバーはあなたのGmailアカウントにログインする必要があります。 – jstedfast

+0

私のWebサーバーで自分のアカウントにログインするにはどうすればいいですか?私はサードパーティのホスティングサービスを使用しています。私は自分の電子メールにgsuiteを使用しています。 –

関連する問題