Laravel ZOHO SMTP 邮箱验证失败
Laravel ZOHO SMTP Email failed to authenticate
我正在使用 Zoho SMTP 配置
DEFAULT_MAIL="gmail"
MAIL_MAILER=smtp
MAIL_HOST=smtp.zoho.com
MAIL_PORT=587
MAIL_USERNAME=ses@imksa.com
MAIL_PASSWORD=mina
MAIL_ENCRYPTION=ssl
MAIL_FROM_NAME=Test Sales
当我在 MAIL_FROM_NAME 中给出 space 时,因为没有引号的“测试销售”网站出现故障
但是邮件发送成功
我也试过用引号
DEFAULT_MAIL="gmail"
MAIL_MAILER=smtp
MAIL_HOST=smtp.zoho.com
MAIL_PORT=587
MAIL_USERNAME=ses@imksa.com
MAIL_PASSWORD=mina
MAIL_ENCRYPTION=ssl
MAIL_FROM_NAME="Test Sales"
我收到以下错误消息
Connection could not be established with host smtp.zoho.com :stream_socket_client(): unable to connect to ssl://smtp.zoho.com:587 (Connection refused)
在 zoho mail 配置中,他们设置了 FirstName=Test 和 LastName=Sales
邮件无法正常工作只是因为 MAIL_FROM_NAME。
任何人都可以建议我解决方案
你有两个问题。 SSL/STARTTLS 的错误用法以及邮件地址和名称的错误用法。
Zoho 同时支持 SSL 和 STARTTLS。
您正在指定 ssl 但使用 starttls 端口。 ssl 方案从加密开始。这通常需要端口 465。方案 tls 开始时未加密,然后通过 STARTTLS 命令切换到加密。这通常需要端口 587。
要使用 SSL:
MAIL_PORT=465
MAIL_ENCRYPTION=ssl
要使用 STARTTLS:
MAIL_PORT=587
MAIL_ENCRYPTION=tls
电子邮件地址和姓名用法:
使用MAIL_FROM_ADDRESS=某人@example.com.
您可以将 MAIL_FROM_ADDRESS 与 MAIL_FROM_NAME
结合使用
"MAIL_FROM_NAME <MAIL_FROM_ADDRES>"
用您的 .env 文件中的值替换变量名称:
$from = env('MAIL_FROM_NAME) . " <" . env(MAIL_FROM_ADDRESS) . ">";
一些 class 方法使用这种风格:
->setFrom([env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME')])
注意:某些电子邮件服务不允许您更改 MAIL_FROM_ADDRESS。您必须使用为帐户注册的那个或注册的别名。
您也可以在config/mail中指定地址的详细信息。php:
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
我正在使用 Zoho SMTP 配置
DEFAULT_MAIL="gmail"
MAIL_MAILER=smtp
MAIL_HOST=smtp.zoho.com
MAIL_PORT=587
MAIL_USERNAME=ses@imksa.com
MAIL_PASSWORD=mina
MAIL_ENCRYPTION=ssl
MAIL_FROM_NAME=Test Sales
当我在 MAIL_FROM_NAME 中给出 space 时,因为没有引号的“测试销售”网站出现故障 但是邮件发送成功
我也试过用引号
DEFAULT_MAIL="gmail"
MAIL_MAILER=smtp
MAIL_HOST=smtp.zoho.com
MAIL_PORT=587
MAIL_USERNAME=ses@imksa.com
MAIL_PASSWORD=mina
MAIL_ENCRYPTION=ssl
MAIL_FROM_NAME="Test Sales"
我收到以下错误消息
Connection could not be established with host smtp.zoho.com :stream_socket_client(): unable to connect to ssl://smtp.zoho.com:587 (Connection refused)
在 zoho mail 配置中,他们设置了 FirstName=Test 和 LastName=Sales
邮件无法正常工作只是因为 MAIL_FROM_NAME。
任何人都可以建议我解决方案
你有两个问题。 SSL/STARTTLS 的错误用法以及邮件地址和名称的错误用法。
Zoho 同时支持 SSL 和 STARTTLS。
您正在指定 ssl 但使用 starttls 端口。 ssl 方案从加密开始。这通常需要端口 465。方案 tls 开始时未加密,然后通过 STARTTLS 命令切换到加密。这通常需要端口 587。
要使用 SSL:
MAIL_PORT=465
MAIL_ENCRYPTION=ssl
要使用 STARTTLS:
MAIL_PORT=587
MAIL_ENCRYPTION=tls
电子邮件地址和姓名用法:
使用MAIL_FROM_ADDRESS=某人@example.com.
您可以将 MAIL_FROM_ADDRESS 与 MAIL_FROM_NAME
结合使用"MAIL_FROM_NAME <MAIL_FROM_ADDRES>"
用您的 .env 文件中的值替换变量名称:
$from = env('MAIL_FROM_NAME) . " <" . env(MAIL_FROM_ADDRESS) . ">";
一些 class 方法使用这种风格:
->setFrom([env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME')])
注意:某些电子邮件服务不允许您更改 MAIL_FROM_ADDRESS。您必须使用为帐户注册的那个或注册的别名。
您也可以在config/mail中指定地址的详细信息。php:
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],