我在Laravel 5应用程序中发送电子邮件时遇到问题。
这是我的邮件功能
电子邮件= >>> '/'.join(s)
'/folder1/folder2/folder3/folder4/folder5/exp-*'
test@gmail.com
我一直在
Mail::send('emails.activation', array(
'username'=>$user->username,
'name'=>$user->name,
'code'=>$user->code,
'email'=>$user->email
),
function($message){
$message->from(env('MAIL_USERNAME'),'Site');
$message->to('email', 'name' )->subject('Site Activation ');
});
文件中的邮件配置
.env
新错误
我对发生的事情非常好奇。 我做错了什么?
答案 0 :(得分:1)
这意味着电子邮件地址字段中存在错误,例如From,Sender或Reply-To字段。
Swift Mailer严格遵循RFC标准,以避免电子邮件被垃圾邮件检查工具捕获。
test@gmail.com
看起来不像普通的电子邮件地址,甚至不存在。
尝试使用其他电子邮件地址示例发送给我
Mail::send('emails.activation', array(
'username'=>$user->username,
'name'=>$user->name,
'code'=>$user->code,
'email'=>$user->email
),
function($message){
$message->from('siteEmailaddress@domain.com'),'Site');
$message->to('avalidEmailaddress@domain.com', 'name' )->subject('Site Activation ');
});
此外,如果您希望在下面使用gmail作为SMTP服务器:
'driver' => 'smtp',
'host' => 'smtp.gmail.com',
'port' => 465,
'encryption' => 'ssl',
'username' => 'your-email@gmail.com',
'password' => 'your-password',
EDITED
注意:MAIL_USERNAME
必须是您的@gmail.com
电子邮件地址,例如myname@gmail.com否则你将无法使用host smtp.gmail.com error
如果您无法解决此异常,请转到打开app \ Exceptions \ handler.php
在内部渲染方法中添加:
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Exception $e
* @return \Illuminate\Http\Response
*/
public function render($request, Exception $e)
{
if ($e instanceof Swift_RfcComplianceException){
//redirect to form
//You can also delete the user account here if already created or do other stuffs
return redirect($request->fullUrl())->with('error',"We have issue sending you an email");
}
.......
}
注意:请记得在handler.php
的顶部添加use Swift_RfcComplianceException;
答案 1 :(得分:1)
它看起来像来自'地址无效,您目前使用的是env
来电,而不知道它返回的是100%。
尝试将from
地址更改为真实的电子邮件地址以进行测试。