首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel Mail::Send

Laravel Mail::Send
EN

Stack Overflow用户
提问于 2014-07-30 22:54:26
回答 2查看 3.1K关注 0票数 0

我希望在laravel 4.1中记录每个发送的电子邮件的SMTP事务。

例如,当我使用以下代码发送电子邮件时:

代码语言:javascript
复制
Mail::send('emails.any_view', $data, function($message) use ($user) {
    $message->from('server@example.com', 'PHP Code');
}

我希望看到这样的情况:

代码语言:javascript
复制
[Resolving gmail-smtp-in.l.google.com...]
[Contacting gmail-smtp-in.l.google.com [173.194.64.27]...]
[Connected]
220 mx.google.com ESMTP zd4si6046704obb.40 - gsmtp
EHLO Network-Tools.com
250-mx.google.com at your service, [67.222.132.193]
VRFY test
252 2.1.5 Send some mail, I'll try my best zd4si6046704obb.40 - gsmtp
RSET
250 2.1.5 Flushed zd4si6046704obb.40 - gsmtp
EXPN test
502 5.5.1 Unimplemented command. zd4si6046704obb.40 - gsmtp
RSET
250 2.1.5 Flushed zd4si6046704obb.40 - gsmtp
MAIL FROM:<admin@Network-Tools.com>
250 2.1.0 OK zd4si6046704obb.40 - gsmtp
RCPT TO:<test@gmail.com>
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1 http://support.google.com/mail/bin/answer.py?answer=6596 zd4si6046704obb.40 - gsmtp
[Address has been rejected]
RSET
250 2.1.5 Flushed zd4si6046704obb.40 - gsmtp
QUIT
221 2.0.0 closing connection zd4si6046704obb.40 - gsmtp
[Connection closed]

我真的不关心这是在日志文件中还是在需要时可以直接转储的变量中。有人知道我如何访问这些信息吗?

我想我越来越接近我的答案了。如果我将app/config/mail.php中的加密替换为无效的内容,我会收到如下错误消息:

Swift_TransportException期望响应代码220,但得到代码"500",消息为"500 5.5.1未知或未实现的命令“

我需要一种访问响应代码的方法,即使它们不会产生错误。

EN

回答 2

Stack Overflow用户

发布于 2014-07-30 23:13:52

Laravel Mail本身并没有提供这些细节。

只有日志功能,它会将所有电子邮件写入日志文件,而不会将它们发送给收件人。主要用于调试和邮件内容验证。

Mail::send()使用配置的邮件守护进程,该守护进程是您的服务器或远程服务器。

如果您使用Gmail等远程服务器作为SMTP服务器,则无法访问这些日志详细信息。

如果是您自己的服务器,请转到配置的日志目录并捕获相关的日志文件。

  • /var/log/maillog
  • /var/log/mail.log
  • /var/adm/maillog
  • /var/adm/syslog/mail.log
  • /etc/syslog.conf是你的朋友

确定文件后,使用PHP或tail -f /var/log/maillog读取该文件。

echo file_get_contents('/var/log/maillog'); :)

票数 1
EN

Stack Overflow用户

发布于 2018-02-20 14:36:48

我也收到了同样的错误..当我在mail.php中更改EMAIL_ENCRYPTION时,它工作得很好。它是'encryption‘邮件环境(’MAIL_ENCRYPTION‘,'tps'),在我将它改为'encryption’=> env('MAIL_ENCRYPTION','')之前,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25040057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档