laravel - 发送邮件不起作用
Posted
技术标签:
【中文标题】laravel - 发送邮件不起作用【英文标题】:laravel - sending mail doesn't work 【发布时间】:2015-03-20 11:45:36 【问题描述】:我正在使用 Mandrill,没有错误消息,也没有发送电子邮件
邮件.php
<?php
return array(
'driver' => 'smtp',
'host' => 'smtp.mandrillapp.com',
'port' => 587,
'from' => array('address' => "my-email@gmail.com", 'name' => null),
'username' => 'my-email@gmail.com',
'password' => 'api key',
);
使用邮件功能(confide package)
Mail::queueOn(
Config::get('confide::email_queue'),
Config::get('confide::email_account_confirmation'),
compact('user'),
function ($message) use ($user)
$message
->from('my-email@gmail.com', 'Test')
->to($user->email, $user->username)
->subject(Lang::get('confide::confide.email.account_confirmation.subject'));
);
【问题讨论】:
从未使用过仅带有 laravel 邮件陷阱的 mandrill,但尝试将端口更改为 25 并将加密更改为 '' mandrill 使用 587 端口,我尝试直接使用 Gmail 但它不起作用 你能发布你正在使用的电子邮件功能的完整代码吗?你的配置似乎没问题。 pheanstalk 是您运行 beanstalked 队列所需的组件,因此您可能正在使用 beanstalked(或者之前安装了 pheanstalkd)。你的 config/queue.php 中有什么?那里列出了哪个队列驱动程序? 你可以试试,但我不认为它会起作用。转到您的 laravel 目录并运行 php artisan queue:work 并查看是否发送了某些内容。但是您没有安装队列服务,因此 queueOn 选项通常不起作用。您可以尝试通过 Mail::send 命令发送电子邮件,如果您想使用队列,请添加类似 beanstalked 的队列服务。这是一个很棒的方法:LARACASTS 【参考方案1】:您应该确保'pretend' => false
和其余配置看起来正常。
这是一个发送邮件的例子:
$attributes=array('firstname'=>"John", 'email'=>$email);
Mail::send('page_to_be_sent',$attributes,function($message)
$message->to($email)->subject('Your subject here.');
);
【讨论】:
以上是关于laravel - 发送邮件不起作用的主要内容,如果未能解决你的问题,请参考以下文章