私はAPIのドキュメントと言語ガイドを調べましたが、ダーツでメールを送信することについて何も表示されませんでした。私もこのgoogle groups postをチェックしましたが、Dartの標準ではかなり古くなっています。ダーツでSMTPメールを送信
これは可能ですか?私はいつでも外部プログラムを呼び出すためにProcessクラスを使うことができると知っていますが、もしあれば、本当のDartソリューションを好むでしょう。
私はAPIのドキュメントと言語ガイドを調べましたが、ダーツでメールを送信することについて何も表示されませんでした。私もこのgoogle groups postをチェックしましたが、Dartの標準ではかなり古くなっています。ダーツでSMTPメールを送信
これは可能ですか?私はいつでも外部プログラムを呼び出すためにProcessクラスを使うことができると知っていますが、もしあれば、本当のDartソリューションを好むでしょう。
mailer
と呼ばれるライブラリがあります。これは、あなたが求めたことを正確に行います。電子メールを送信します。
あなたpubspec.yaml
で依存関係として設定し、それをしてpub install
を実行します。
dependencies:
mailer: any
を私はローカルのWindowsマシン上のGmailを使用して簡単な例を与える:
import 'package:mailer/mailer.dart';
main() {
var options = new GmailSmtpOptions()
..username = '[email protected]'
..password = 'my gmail password'; // If you use Google app-specific passwords, use one of those.
// As pointed by Justin in the comments, be careful what you store in the source code.
// Be extra careful what you check into a public repository.
// I'm merely giving the simplest example here.
// Right now only SMTP transport method is supported.
var transport = new SmtpTransport(options);
// Create the envelope to send.
var envelope = new Envelope()
..from = '[email protected]'
..fromName = 'Your company'
..recipients = ['[email protected]', '[email protected]']
..subject = 'Your subject'
..text = 'Here goes your body message';
// Finally, send it!
transport.send(envelope)
.then((_) => print('email sent!'))
.catchError((e) => print('Error: $e'));
}
GmailSmtpOptions
は単なるヘルパーですクラス。あなたはローカルのSMTPサーバーを使用する場合:
var options = new SmtpOptions()
..hostName = 'localhost'
..port = 25;
をすることはできSmtpOptions
クラスでcheck here for all possible fields。ここで
は人気Rackspace Mailgunを使用した例です:
var options = new SmtpOptions()
..hostName = 'smtp.mailgun.org'
..port = 465
..username = '[email protected]'
..password = 'from mailgun';
ライブラリが同様にHTMLメールや添付ファイルをサポートしています。それを行う方法については、the exampleをご覧ください。
私は個人的に実用的にMailgunでmailer
を使用しています。
参考までに、アプリケーション固有のパスワードに注意してください。彼らは2因子認証を迂回し、名前のような特定のアプリケーションに限定されません。私は決してソースコードに置くつもりはない。 _安全なキーストレージサービスから安全にロードすることができます。 –
多分私は誰もそのようなソースコードを保存することを意図したことを明確にする必要があります!更新された例。 –
Googleの場合、そのようなパスワードを安全に保管することは決してできません。ほとんどの場合、Mailgunのようなほとんどの電子メールサービスの場合のように、電子メールサービス固有のパスワードを保管しています。メモをありがとう。 –