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' =&gt; false 和其余配置看起来正常。

这是一个发送邮件的例子:

$attributes=array('firstname'=>"John", 'email'=>$email);
Mail::send('page_to_be_sent',$attributes,function($message)
                $message->to($email)->subject('Your subject here.');
           );

【讨论】:

以上是关于laravel - 发送邮件不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - sendResetLink 不起作用

Laravel 邮件中的“回复”字段不起作用

.Send 不起作用时如何发送邮件?

注册在 Laravel 5 中不起作用

为啥 matlab 中的源发送邮件(gmail)不起作用?

Grails 发送邮件不起作用