【发布时间】:2017-02-24 10:31:25
【问题描述】:
我目前正在开发一些基于 Laravel 5.2 的应用程序。我需要向用户发送带有重置密码链接的电子邮件,并且我正在使用 mailgun。当我向注册 mailgun 的邮件发送电子邮件时,一切正常。但是当它是任何其他电子邮件地址时它会失败。
错误提示:
RequestException.php 第 71 行中的ClientException: 客户端错误响应 [url] https://api.mailgun.net/v3/sandbox************************************.mailgun.org/messages.mime [status代码] 400 [原因短语] BAD REQUEST
我尝试了很多解决方案,但没有一个有效。知道为什么会这样吗?也许它是由本地主机引起的? 我正在使用:
- Laravel 5.2
- 邮筒
- WAMP 作为我的本地主机
- guzzlehttp v.4.0
控制器功能:
public function sendEmail() {
$sent = Mail::send('mails.test', [], function ($message) {
$message->to('xxxxxxx@windowslive.com','somename');
$message->subject("Activate Your Account");
$message->getSwiftMessage();
});
if ($sent === 0) {
return redirect('/')
->withErrors('Failed to send activation email.');
}
return redirect('/')
->withSuccess('Mail was sent.');
}
环境数据:
MAIL_DRIVER=mailgun
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=postmaster@sandbox*****************************.mailgun.org
MAIL_PASSWORD=**********************
MAIL_ENCRYPTION=null
MAILGUN_DOMAIN=sandbox*****************************.mailgun.org
MAILGUN_SECRET=key-*****************************
文件:conf/mail.php 配置为 .env 数据
路线:
Route::get('auth/send','AuthController@sendEmail');
按钮:
<a href="{{action('AuthController@sendEmail')}}" class="btn btn-danger">Test mail</a>
【问题讨论】:
-
你能发布你正在尝试的代码吗?
标签: php laravel email request mailgun