私はWebプログラミングを初めて利用しており、ASP.NET Coreを使用してWebサイトを作成しており、ユーザーが名前、電子メール、件名、およびメッセージを入力する標準の「連絡先」ページを作成しようとしています。 ASP.NETコアにはまだSystem.Net.Mail
があるので、私はそれを使用できません。"Contact Me"フォームにMailKitを使用できますか?
MailKitを使って電子メールを送信することはできますが、連絡先ページにその電子メールを使用する方法はわかりません。私は私のSMPTサーバーを使用して電子メールを送信することができ
using (var client = new SmtpClient()) {
client.Connect ("smtp.friends.com", 587, false);
// Note: since we don't have an OAuth2 token, disable
// the XOAUTH2 authentication mechanism.
client.AuthenticationMechanisms.Remove ("XOAUTH2");
// Note: only needed if the SMTP server requires authentication
client.Authenticate ("joey", "password");
client.Send (message);
client.Disconnect (true);
このコードを使用して知っているが、明らかに私は、サイトを使用して、ユーザーの機能は私に電子メールを送信できるようにしたいです。このためにMailKitを使用する方法はありますか、別の解決策を見つける必要はありますか?ありがとう。
編集: これは私が正常に電子メールを送信するコードですが、それは常に私から私に送信されたと言います。
public IActionResult SendEmail(Contact contact)
{
var emailMessage = new MimeMessage();
emailMessage.From.Add(new MailboxAddress(contact.Name, contact.Email));
emailMessage.To.Add(new MailboxAddress("myname", "myemail"));
emailMessage.Subject = contact.Subject;
emailMessage.Body = new TextPart("plain") { Text = contact.Message };
using (var client = new SmtpClient())
{
client.Connect("smtp-mail.outlook.com", 587);
client.Authenticate("myemail", "myemailpassword");
client.Send(emailMessage);
client.Disconnect(true);
}
return RedirectToAction("Index", "Home");
}
私は送信者を自分のアドレスに設定しようとしましたが、動作していないようです。私はyahoo smtpサーバーを代わりに使ってみることにしましたが、今では「送信元アドレス」が確認されていないというエラーが表示されています。 "from"が見通しでstmpサーバーがyahooであることが重要ですか?私がヤフーの電子メールを "from"セクションにハードコードすると、それは機能します。 – ecain
これは、スパムを最小限に抑えるSMTPサーバーの機能です。別のサーバーを試してみること以外に私が示唆できることはあまりありません。 – jstedfast