email - 如何在 laravel 中的域电子邮件上设置 smtp 连接
问题描述
我有一个域:www.mydomain.ro,我创建了这样的电子邮件:office@mydomain.ro
我正在尝试从我的 laravel 应用程序(laravel 5.7)发送电子邮件,我做了以下配置:
在 .env 文件中:
MAIL_DRIVER=smtp
MAIL_HOST=office@my-domain.ro
MAIL_PORT=26
MAIL_USERNAME=office@my-domain.ro
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=null
在 config/mail.php 中:
<?php
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'mail.my-domain.ro '),
'port' => env('MAIL_PORT', 26),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'office@muy-domain.ro'),
'name' => env('MAIL_FROM_NAME', 'Office my-domain'),
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('office@my-domain.ro'),
'password' => env('mypassword'),
'sendmail' => '/usr/sbin/sendmail -bs',
'markdown' => [
'theme' => 'default',
'paths' => [
resource_path('views/vendor/mail'),
],
],
];
在控制器中我这样做:
$data = array(
'name' => 'Ioan Andrei',
'body' => 'Test Email'
);
Mail::send('emails.demandreceived',$data,function ($message){
$message->from('office@my-domain.ro','TEST');
$message->to('ioan.andrei97@gmail.com');
$message->subject('Test email');
我收到此错误:
Connection could not be established with host office@msipremiumcars.ro [php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known #0]
我做错了什么?它不起作用,因为我试图从我的本地服务器发送它们?
例如,我可以使用 mailgun 发送电子邮件并且仍然从 office@mydomain.ro 发送电子邮件吗?
我尝试在配置后重新启动本地服务器。
Laravel 版本:5.7
解决方案
问题是MAIL_HOST
在.env
文件中。它需要是主机名,my-domain.ro
而不是您当前输入的电子邮件地址office@my-domain.ro
。
推荐阅读
- sql-server - 将引用 FSharp.Data.SqlProvider 的 SQL CLR 程序集注册到 SQL Server 时出现问题
- java - 如何将 onSavedInstanceState 与小部件一起使用?
- reactjs - 如何向下滑动图像并在数组中显示图像的 url?(反应原生图像查看器)
- c# - 如何在不受信任的域中模拟用户?
- ssl - 带 SNI 的本地 HTTPS 服务器
- spring - 在拒绝消息时设置 x-first-death-reason 或自定义标头(SpringAMQP)
- linux - gdb多线程调试如何配合Linux线程调度?
- android - 根据语言在 webview 中加载本地 HTML 文件,如果找不到文件,则使用默认值
- java - Java:计算字符串数组的第一个和最后一个字母中的重复
- c++ - 字符串和数组的问题