Laravel-发送邮件无法工作,尝试在Windows上通过Laragon使用Sendmail时挂起 [英] Laravel - Sending mail not working, tinker hanging when trying to use sendmail via Laragon on Windows

查看:31
本文介绍了Laravel-发送邮件无法工作,尝试在Windows上通过Laragon使用Sendmail时挂起的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

事实上,我发现了这个问题:Laragon and Laravel - sendmail not working...但我决定发布一个详细的新问题,以获得回应,这个问题可能是一个幼虫错误……谢谢。

  • 操作系统:Windows 10
  • Laravel版本:8.75
  • PHP版本:7.4.27
  • 数据库驱动程序版本:SQLite

说明:

我试着让Sendmail(Laragon)工作,但没有运气。 文件".env"已调整为在新的Laravel项目上使用Sendmail而不是SMTP。

复制步骤:

  • 已创建新的laravel项目 laravel new test
  • 调整后的.env文件:
MAIL_MAILER=sendmail
MAIL_SENDMAIL_PATH='C:LARAGONinsendmailsendmail.exe -bs' 
  • 运行命令: php artisan tinker
  • 运行Tinker命令: Mail::raw('Hello World!', function($msg) {$msg->to('mail@example.com')->subject('Test Email'); });

运行Tinker命令后,cmd挂起...

还尝试了Sendmail标志的不同选项:

  • sendmail.exe-t-i<;<;<;修补程序挂起
  • sendmail.exe-t<;<;<;Tinker挂起
  • sendmail.exe-bs<;<;<;Tinker挂起
我可以看到sendmail.exe正在运行(在任务管理器中),但似乎无法完成(等待了几分钟)。 取消(Ctrl-c)将关闭修补程序会话,并终止sendmail.exe。

通过使用其他php内置的邮件功能,Laragon运行良好,还可以成功捕获邮件文件夹中的已发送邮件。

在每次更改.env文件后,我总是尝试清除配置缓存。 php artisan config:clear

使用以下代码通过php发送邮件可以正常工作:

<html>
   
   <head>
      <title>Sending HTML email using PHP</title>
   </head>
   
   <body>
      
      <?php
         $to = "xyz@somedomain.com";
         $subject = "This is subject";
         
         $message = "<b>This is HTML message.</b>";
         $message .= "<h1>This is headline.</h1>";
         
         $header = "From:abc@somedomain.com 
";
         $header .= "Cc:afgh@somedomain.com 
";
         $header .= "MIME-Version: 1.0
";
         $header .= "Content-type: text/html
";
         
         $retval = mail ($to,$subject,$message,$header);
         
         if( $retval == true ) {
            echo "Message sent successfully...";
         }else {
            echo "Message could not be sent...";
         }
      ?>
      
   </body>
</html>

非常感谢您的帮助。

推荐答案

通常,当sendmail出现身份验证问题时会出现这种情况。

确保已按照Laragon Documentation

的建议使用您的Gmail凭据设置Sendmail

此外,默认情况下,Gmail会禁用安全性较低的应用程序。确保您的帐户在此处也启用了不太安全的应用程序(或者使用特定于应用程序的密码更好):https://myaccount.google.com/lesssecureapps

这篇关于Laravel-发送邮件无法工作,尝试在Windows上通过Laragon使用Sendmail时挂起的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆