WebアプリケーションでMVC ASP.NET Core 1.1.2を使用しています。私はMailKit 1.18.1.1を使用して連絡先フォームを作成しようとします。私は電子メール(gmail)を介して連絡フォーム情報を送信します。 Webページをローカルに構築すると、すべてが期待通りに機能します。初めてローカルでプログラムを実行したとき、同じエラーが表示されましたが、私のメールアドレスのセキュリティ設定が有効になり、動作し始めました。しかし、私は、ウェブ上でそれを展開するとき、それは私が安全性の低いアプリを有効にするために、セキュリティ設定を設定するにもかかわらず、私は、このようなエラーを与える:ここでAuthenticationException:AuthenticationMechanismTooWeak:5.7.14
は、ホームコントローラの私の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>
}
をしかし、私は国民に、このWebアプリケーションを公開するつもりです。メッセージを送信しようとするすべての人が、このロジックで自分のメールアドレスにサインインする必要がありますか? –
いいえ、あなたのウェブサーバーはあなたのGmailアカウントにログインする必要があります。 – jstedfast
私のWebサーバーで自分のアカウントにログインするにはどうすればいいですか?私はサードパーティのホスティングサービスを使用しています。私は自分の電子メールにgsuiteを使用しています。 –