.Netコア(現在)はSystem.Net.Mail
名前空間を持たず、ナゲット経由で利用できるこの名前空間のプレビューバージョンにはSmtpClient
がありません。しかし、何らかの理由でクラスライブラリを使用したくない場合(独立したヒーローなど)、.Net Core(HttpWebRequest、HttpClient、Socketsなど)で利用可能なツールを使用して電子メールを送信する方法はありますか? ?もしそうなら、どのようにこれを行うことができるでしょうか(の例ではなく、理論)。クラスライブラリを使用せずに.Net Coreで電子メールを送信
答えて
あなたは本当に自分のライブラリを作成して電子メールを送信できます。質問は「あなたはするべきですか?」必要な時間は、幅広い聴衆がライブラリを利用できるようにすることを完全に意図していない限り、価値のあるものではありません。
元SMTP Specification (RFC 821)
(https://tools.ietf.org/html/rfc821)は約68ページでした。この仕様の実装は「実行可能」でしたが、大きな努力が必要でした。新しいSMTP Specification (RFC2821)
(https://tools.ietf.org/html/rfc2821)は79ページです。
RFC 2821で規定されている機能の実装以外にも、他の多くのRFCやドキュメントに精通している必要があります。
.NET Core
でメールを送信するすべての人に最適なオプションは、SendGrid(http://sendgrid.com/)のようなサービスを使用するか、またはSendGrid(http://sendgrid.com/)のようなサービスを使用するかです。 MailKit(https://github.com/jstedfast/MailKit)のようなフリーでオープンソースのライブラリです。私はほとんどの.NET Core
展開サイトは、これらの2つの方法の1つを使って電子メールを送信していると考えています。
Steve Gordonは、ASP.NET CoreでMailKitライブラリを使用すると、本当に素晴らしいブログ記事(https://www.stevejgordon.co.uk/how-to-send-emails-in-asp-net-core-1-0)を作成しました。あなたがあなた自身のSMTP librar
Yを構築したい(と私は間違いなくそれを提唱わけではない)場合でも
、最善のアプローチは、GitHub
経由MailKit
(https://github.com/jstedfast/MailKit)のようなものをフォークし、それを修正するかもしれません。それは、少なくともあなたが働いている実装を繰り返し実行したり、繰り返したりすることを可能にします。
ほとんどの作業は、System.Net.Sockets
名前空間のコンポーネントを使用して行われます。ここに.NET Framework 4.7
バージョン(https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets?view=netframework-4.7)のリファレンスがあります。私はそれをテストしていませんが、.NET Core
の実装とかなり似ているはずです。
時には、最良のアドバイスは「あなたができるはずがありません」ということです。 「独立した英雄」にならないでください。何が効いているか。
- 1. .NET APIを使用してAweberでブロードキャスト電子メールを送信
- 2. クイックブックで.net SDKを使用した電子メールでの送信
- 3. 電子メールクライアントアプリケーションを使わずにアンドロイドで電子メールでフォームを送信
- 4. .NETを使用した電子メールの送信
- 5. 電子メールをユーザーに送信せずに電子メールアドレスを確認する
- 6. データベースに何も保存せずに電子メールを送信
- 7. 送信後に電子メールを送信
- 8. UIImage電子メールで送信
- 9. 電子メールを送信するemailnot送信emailnot送信emailnot送信emailnot送信emailnot送信しない電子メール を送信しない電子メール
- 10. Asp.net電子メール送信プロセス
- 11. ページ電子メールで送信
- 12. サブスクリプションサービス - 電子メールの送信
- 13. .NetコアWebサービスを待たずに非同期電子メールを送信する
- 14. .NET CoreクラスライブラリでSystem.ComponentModelを使用する
- 15. Codeigniter - 電子メールを送信
- 16. vb.net電子メールを送信
- 17. Asp.net電子メールを送信
- 18. 電子メールを送信php
- 19. SparkPost電子メールを送信
- 20. ASP.NET-電子メールを送信
- 21. メテオイントラネット電子メールに電子メールを送信
- 22. CDO - 電子メールを送信しても電子メールを送信すると
- 23. DNNで電子メールを送信
- 24. php電子メールでフィールドを組み合わせて電子メールで送信
- 25. AHK:電子メールの送信
- 26. PHPでhtml電子メールを送信
- 27. 電子メールを.netで送信するためのライブラリ
- 28. Java電子メールSMTP&TSL、エラー電子メールを送信できません
- 29. デバイスに保存せずに電子メールでビットマップを送信する - Android
- 30. Apache Commonsの電子メールライブラリを使用してJavaで電子メールを送信
あなた自身のライブラリを書いているわけではありません。自分で書くよりも自分のコードを読んだり修正したりすることに心配している方は、MailKit(https:// github。 com/jstedfast/MailKit)、その獣に取り組むかどうかを決めます。幸運:) – Steveland83
@Arrrrあなたのオプションは、独自のsmtpクラスを書くためにTCPライブラリを使用することです。他の図書館の例以外に、私たちがそれを手助けするために提供できるものは何もありません。電子メールはHTTPではないので、Httpライブラリを使用することは適切な野球場でさえありません。 –
@JoePhillips:ソケットプログラミングを使用して簡単に行うことができます。私の答えをチェックしてください。 – Transcendent