gpt4 book ai didi

email - 在 Dart 中发送 SMTP 电子邮件

转载 作者:行者123 更新时间:2023-12-02 01:14:19 25 4
gpt4 key购买 nike

我查看了 API 文档和语言指南,但没有看到任何有关在 Dart 中发送电子邮件的内容。我还检查了这个google groups post ,但按照 Dart 标准来说它已经相当老了。

这可以做到吗?我知道我总是可以使用 Process 类来调用外部程序,但我更喜欢真正的 Dart 解决方案(如果有的话)。

最佳答案

有一个名为 mailer 的库,这正是您所要求的:发送电子邮件。

将其设置为 pubspec.yaml 中的依赖项并运行 pub install:

dependencies:
mailer: any

我将给出一个在本地 Windows 计算机上使用 Gmail 的简单示例:

import 'package:mailer/mailer.dart';

main() {
var options = new GmailSmtpOptions()
..username = 'kaisellgren@gmail.com'
..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 = 'support@yourcompany.com'
..fromName = 'Your company'
..recipients = ['someone@somewhere.com', 'another@example.com']
..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;

您可以check here for all possible fieldsSmtpOptions 类中。

这是一个使用流行的 Rackspace Mailgun 的示例:

var options = new SmtpOptions()
..hostName = 'smtp.mailgun.org'
..port = 465
..username = 'postmaster@yourdomain.com'
..password = 'from mailgun';

该库还支持 HTML 电子邮件和附件。查看the example了解如何做到这一点。

我个人在生产环境中使用 mailer 和 Mailgun。

关于email - 在 Dart 中发送 SMTP 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17822578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com