当前位置: 首页 > 面试题库 >

预期响应代码为220,但在Laravel中收到代码为“”,消息为“”

巫马望
2023-03-14
问题内容

我正在使用Laravel Mail函数发送电子邮件。以下是我的app/config/mail.php文件设置。

'driver' => 'sendmail',
'host' => 'smtp.gmail.com',
'port' => 587,
'from' => array('address' => 'email@gmail.com', 'name' => 'MyName'),
'encryption' => 'tls',
'username' => 'myUsername',
'password' => "password",
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,

控制器邮件方法

//Send Mail     
Mail::send('sendMail', array('key' => 'value'), function($message)
{
    $message->to('EmailId@hotmail.com', 'Sender Name')->subject('Welcome!');
});

当我运行代码时,它给我以下错误消息:

Swift_TransportException

预期的响应代码为220,但得到的代码为“”,并带有消息“”

我已经SendMail.php在视图中创建了一个包含一些数据的文件。

如何解决此错误消息?


问题答案:

如果您未启用要用于发送的gmail帐户的两步验证(可以在此处完成),则通常会出现此问题email。因此,首先,启用two step verification,您可以找到足够的资源来启用两步验证。启用后,您必须创建一个app password。并app password.env文件中使用。完成后,您的.env文件将看起来像。

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=<<your email address>>
MAIL_PASSWORD=<<app password>>
MAIL_ENCRYPTION=tls

和你的 mail.php

<?php

return [
    'driver' => env('MAIL_DRIVER', 'smtp'),
    'host' => env('MAIL_HOST', 'smtp.gmail.com'),
    'port' => env('MAIL_PORT', 587),
    'from' => ['address' => '<<your email>>', 'name' => '<<any name>>'],
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    'username' => env('MAIL_USERNAME'),
    'password' => env('MAIL_PASSWORD'),
    'sendmail' => '/usr/sbin/sendmail -bs',
    'pretend' => false,

];

这样做之后,运行php artisan config:cachephp artisan config:clear,然后检查,电子邮件应该可以正常工作。



 类似资料:
  • 我正在使用Laravel邮件功能发送电子邮件。下面是我的文件设置。 控制器邮件方法 当我运行代码时,它会给我以下错误消息: Swift_运输例外 预期响应代码220,但得到代码",带有消息" 我在视图中创建了一个包含一些数据的SendMail.php文件。 如何解决此错误消息?

  • 问题内容: 我最近在尝试通过gmail发送邮件时遇到了SwiftMail错误。 我试图通过gmail发送邮件,而google认为我是垃圾邮件(可能是因为我请求的速度太快了)。我收到了他们的来信,说我的帐户可以访问,我告诉他们是我。我能够毫无问题地发送邮件,而这只是现在发生的事情。 这是我的env文件的内容。 问题答案: 我在互联网上进行了研究,得出的一些答案包括启用“ 访问较小的应用程序 ”和“

  • 我最近在尝试通过gmail发送邮件时遇到了一个SwiftMail错误。 我试图通过我的gmail发送邮件,谷歌认为我是一个垃圾邮件(可能是因为我的请求太快了),我收到了他们的邮件,说我的帐户可以访问,我告诉他们是我。我能够毫无问题地发送邮件,而这只是刚刚发生的事。 这是我的env文件的内容。

  • 记录的Blazemeter脚本在JMeter中不工作,出现以下错误消息。 响应代码:非HTTP响应代码:java.net。SocketException响应消息:非HTTP响应消息:软件导致连接中止:recv失败

  • 我的服务使用WebApi。它有一个带有GET方法的控制器。当我从客户端调用它并返回未授权的状态代码时,我在HttpResponseMessage中没有得到未授权,而是没有找到。 这是我从客户端调用它的方式: < code >响应的内容: 我在 GetTest() 处放置了一个断点,它在那里停止,所以它到达了控制器方法。 为什么我在客户端中收到“未找到”,而不是“未经授权”?

  • 我正在尝试使用JMeter向在本地主机上运行的应用程序发送请求,但由于java.net.Socket异常,许多请求都失败了。不过,我在控制台中没有看到任何异常。 我读了这些问题1和问题2,但没有多大帮助。 我的代码如下: 存储库 我的 JMeter 配置的屏幕截图