laravel - 从 Web 服务器在 laravel 中发送电子邮件
问题描述
我有一个需要向其发送电子邮件的 Laravel 项目,它可以在 localhost 上运行,但是当我将它上传到 Web 服务器时它不起作用。我的错在哪里?
控制器:
class merluzaController extends Controller
{
public function mail(request $request){
$datos=[
"nombre"=>$request->nombre,
"apellido"=>$request->apellido,
"correo"=>$request->correoE,
"numeroT"=>$request->numeroT,
"mensaje"=>$request->mensaje,
];
Mail::send('emails.mails', $datos, function ($message) {
$message->to("ltomicb@gmail.com", "Lucas")->subject('Página de MerluzaDePincho');
});
Session::flash('mensaje_enviado','Mensaje enviado correctamente.');
return redirect('/contacto');
}
}
环境:
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=postmaster@sandbox8f7345b6f0f14762871d8489a6a672c9.mailgun.org
MAIL_PASSWORD=****************
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=merluzadepincho@gmail.com
MAIL_FROM_NAME="Merluza de Pincho"
解决方案
如果问题是“找不到类'Illuminate\Support\facades\Mail',那么您必须导入它
你可以尝试使用
use Illuminate\Support\Facades\Mail;
或者你可以试试
\Mail::send('emails.mails', $datos, function ($message) {
$message->to("ltomicb@gmail.com", "Lucas")->subject('Página de MerluzaDePincho');
});
代替
Mail::send('emails.mails', $datos, function ($message) {
$message->to("ltomicb@gmail.com", "Lucas")->subject('Página de MerluzaDePincho');
});
因为\Mail::send()
不需要导入
你可以查看这篇文章你可以在这里找到一些很好的答案
如果这些都不起作用,那么您需要验证 guzzle 包是否配置正确并且其版本高于 6 并查看您的服务器 php 模块并将它们与您的开发模块进行比较php -m
应该将它们全部列出
最后联系您的托管公司并为他们解释问题,因为一些公司出于安全原因阻止此类回调或强制用户购买高级帐户或类似的东西
希望这可以帮助。
推荐阅读
- go - 是否应该将 go.sum 文件签入 git 存储库?
- javascript - 打印 iframe 内容没有打印所有内容
- graph - 图论的任何分支都考虑抽象吗?
- c++ - 使用pybind11从python中的c ++函数的指针参数中读取
- amazon-web-services - 尝试查询 AWS ElasticSearch 集群时出现 403 Forbidden
- linux - 用于检索用户当周登录次数的 Linux 命令
- r - 如果在 R 的病例对照研究中一组为“0”,如何计算 OR(奇数比)?
- html - 如何使图标缩进
- javascript - 如何获取表格行中点击元素的 id?
- android - 如何在android中的relativelayout中定位LinearLayouts?