无法使用Mailgun或Mailer发送电子邮件

时间:2019-06-26 08:20:46

标签: flutter mailgun mailer

我试图用这个神奇的插件发送电子邮件。

https://pub.dev/packages/mailer

https://github.com/kaisellgren/mailer#sending-an-email-with-smtp

我还创建了我的mailgun帐户,用作我的个人用户名和密码来使用邮件程序数据。实际上,我可以使用该帐户登录mailgun.com。不幸的是,我一直收到这样的错误。

[ERROR:flutter / lib / ui / ui_dart_state.cc(148)]未处理的异常:即使期望响应,套接字也已关闭。

[ERROR:flutter / lib / ui / ui_dart_state.cc(148)]未处理的异常:用户名/密码错误

这是用于允许用户发送电子邮件而无需打开其他应用程序(例如gmail应用程序)。我在代码中尝试了其他方法,但是没有运气。 :(

import 'package:mailer/mailer.dart';
import 'package:mailer/smtp_server/mailgun.dart';
import 'package:mailer/smtp_server.dart';

Future<void> mailGun() async {
    String username = 'my-email';
    String password = 'my-password';


    final smtpServer = mailgun(username, password);

    // and even using this method.

    // final smtpServer = new SmtpServer('smtp.mailgun.org',
    //username: username, password: password, port: 587, ssl: false);

    final message = new Message()
      ..from = new Address(username, 'Your_name')
      ..recipients.add('sample@email.com')
      ..subject = 'Subject'
      ..text = 'This is the plain text.\nThis is line 2 of the 
text part.'
      ..html = "<h1>test</p>";

    print('tosend');
    final sendReport = await send(message, smtpServer, 
catchExceptions: false);
    print('sended');
    return sendReport;
}

我希望代码无需使用任何第三方应用程序即可自动将电子邮件发送给指定的收件人。

1 个答案:

答案 0 :(得分:0)

您的mailgun帐户可能需要两部分身份验证,即not supported by mailer package。 要解决此问题,您可以create additional SMTP credentials专为您的应用程序