如何使用 cPanel 电子邮件帐户在 laravel 中发送确认电子邮件?

Posted

技术标签:

【中文标题】如何使用 cPanel 电子邮件帐户在 laravel 中发送确认电子邮件?【英文标题】:How to use cPanel email accounts to send confirmation emails in laravel? 【发布时间】:2016-11-30 18:56:36 【问题描述】:

我已将我的 laravel 项目上传到生产服务器。在本地,我使用我的个人 gmail 帐户向新用户发送确认电子邮件。由于我已经上传了它,我在 cpanel“noreply@mydomain.net”中创建了一个电子邮件帐户。如何在我的 Laravel 项目中使用它?

    我可以使用它向新用户发送电子邮件确认吗?还是我需要创建另一个服务提供商,例如 Mandrill 或 Mailchimp? 如果我可以使用它,设置是什么?抱歉,我是新手。

【问题讨论】:

【参考方案1】:

.env 文件中添加以下详细信息

MAIL_DRIVER=smtp
MAIL_HOST=your_host
MAIL_PORT=your_port
MAIL_USERNAME=your_mail_username
MAIL_PASSWORD=your_mail_password
MAIL_ENCRYPTION=your_encryption

【讨论】:

不适用于我的情况 MAIL_DRIVER=smtp MAIL_HOST=smtp.googlemail.com MAIL_PORT=465 MAIL_USERNAME=xxxxxxx@xxxxx.com MAIL_PASSWORD=xxxxxxxx MAIL_ENCRYPTION=ssl MAIL_FROM_ADDRESS=xxxxxx@xxxxx.com @MHFuad 你运行命令了吗,php artisan config:cache【参考方案2】:

打开 config/mail.php, .env 文件并将您的电子邮件驱动程序设置为邮件,如下所示,

'driver' => env('MAIL_DRIVER', 'mail'), //you must set it in env file too

然后你可以像下面这样发送电子邮件,注意 emails.admin.member 是你的电子邮件模板的路径,在示例代码中,laravel 将在路径中查找刀片模板,resources\views\emails\admin\member.blade.php

Mail::queue('emails.admin.member', $data, function($message) 
            $message->subject("A new Member has been Registered" );
            $message->from('noreply@mydomain.net', 'Your application title');
            $message->to('yourcustomer@yourdomain.com');
        );

或使用发送功能

Mail::send('emails.admin.member', $data, function($message) 
            $message->subject("A new Member has been Registered" );
            $message->from('noreply@mydomain.net', 'Your application title');
            $message->to('yourcustomer@yourdomain.com');
        );

它们之间的区别在于,如果您有性能问题,请使用队列方法,它会在后台进程中发送电子邮件而不等待处理脚本,发送函数将等待电子邮件发送后继续执行脚本..

【讨论】:

非常感谢。只是将驱动程序设置为“邮件”对我​​有用。

以上是关于如何使用 cPanel 电子邮件帐户在 laravel 中发送确认电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 PHP 在 Cpanel 中创建电子邮件帐户? [关闭]

如何更改 cPanel 中显示的邮件服务器信息

使用 WHM/Cpanel 通过 PHP 创建电子邮件

创建电子邮件帐户时出现 cPanel 错误。错误:失败的 API 调用没有返回特定错误

使用 nodemailer 的 Cpanel 电子邮件

设置电子邮件帐户 EC2