我想在数字海洋下的ubuntu 18中的php/laravel应用程序中发送电子邮件,我发现这个 https://semantiko.com/how-to-fix-php-mail-function-on-ubuntu-server/ 文章我填写了相关配置文件并发送几封电子邮件,我在控制台中找到:
grep -riI ssmtp /var/log
...
/var/log/mail.log:Oct 24 14:05:22 nsn-do-lamp sSMTP[16500]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/mail.log:Oct 24 14:05:22 nsn-do-lamp sSMTP[16500]: Authorization failed (534 5.7.14 https://support.google.com/mail/answer/78754 b5-v6sm5187045wrr.94 - gsmtp)
/var/log/mail.log:Oct 24 14:05:23 nsn-do-lamp sSMTP[16502]: Creating SSL connection to host
/var/log/mail.log:Oct 24 14:05:23 nsn-do-lamp sSMTP[16502]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/mail.log:Oct 24 14:05:23 nsn-do-lamp sSMTP[16502]: Authorization failed (534 5.7.14 https://support.google.com/mail/answer/78754 t198-v6sm6776812wmd.9 - gsmtp)
/var/log/dpkg.log:2018-10-24 05:27:56 install ssmtp:amd64 <none> 2.64-8ubuntu2
/var/log/dpkg.log:2018-10-24 05:27:56 status half-installed ssmtp:amd64 2.64-8ubuntu2
/var/log/dpkg.log:2018-10-24 05:27:56 status unpacked ssmtp:amd64 2.64-8ubuntu2
/var/log/dpkg.log:2018-10-24 05:27:56 status unpacked ssmtp:amd64 2.64-8ubuntu2
/var/log/dpkg.log:2018-10-24 05:27:56 configure ssmtp:amd64 2.64-8ubuntu2 <none>
/var/log/dpkg.log:2018-10-24 05:27:56 status unpacked ssmtp:amd64 2.64-8ubuntu2
/var/log/dpkg.log:2018-10-24 05:27:56 status unpacked ssmtp:amd64 2.64-8ubuntu2
/var/log/dpkg.log:2018-10-24 05:27:56 status unpacked ssmtp:amd64 2.64-8ubuntu2
/var/log/dpkg.log:2018-10-24 05:27:56 status half-configured ssmtp:amd64 2.64-8ubuntu2
/var/log/dpkg.log:2018-10-24 05:27:56 status installed ssmtp:amd64 2.64-8ubuntu2
/var/log/syslog.1:Oct 24 05:34:07 nsn-do-lamp sSMTP[10100]: Creating SSL connection to host
/var/log/syslog.1:Oct 24 05:34:07 nsn-do-lamp sSMTP[10100]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/syslog.1:Oct 24 05:34:07 nsn-do-lamp sSMTP[10100]: Authorization failed (534 5.7.9 https://support.google.com/mail/?p=WebLoginRequired 130-v6sm4756430wmn.7 - gsmtp)
Run Code Online (Sandbox Code Playgroud)
在我的https://mail.google.com帐户下,我找到了电子邮件:
Sign-in attempt was blocked
myaccount@gmail.com
Someone just used your password to try to sign in to your account from a non-Google app. Google blocked them, but you should check what happened. Review your account activity to make sure no one else has access.
CHECK ACTIVITY
Run Code Online (Sandbox Code Playgroud)
点击下一页的"检查活动"按钮已打开https://imgur.com/a/fUKlJgO 我想要允许我的帐户或我使用,所以我点击"NO,SECURE ACCOUNT"并打开下一页 https://imgur.com/a/LfIDTB4
这对我来说很奇怪,因为我不需要更改密码.我想允许邮件服务使用我的gmail.com帐户.
你能说出错了吗?
我是否误解了Gmail邮件?
MODIFIED BLOCK#2我试图按照提供的链接打开下一条说明:
如果要确保所有人都无法访问不太安全的应用程序,请使用此设置.登录您的Google管理控制台.使用管理员帐户登录,而不是您当前的帐户MyNick@gmail.com
......谁是我的管理员?快速定义:为公司,学校或团体管理Google服务或设备的人员.您公司,学校或团体中的某人您当前的帐户MyNick@gmail.com不是由管理员管理的.该帐户与任何公司,学校或团体无关.相反,它是一个免费的Google帐户,您可以自己管理.
但阅读我错过的文档,因为我是免费的Google帐户,有没有办法让自己成为管理员?如果是,请指出在哪里以及如何?
MODIFIED BLOCK#3:在我的conf文件中使用了587端口:sudo nano /etc/ssmtp/ssmtp.conf:
root=MYNICK@gmail.com
mailhub=smtp.gmail.com:587
hostname=smtp.gmail.com:587
UseSTARTTLS=YES
AuthUser=MYNICK@gmail.com
AuthPass=MYPASSWORD
FromLineOverride=YES
UseTLS=YES
Run Code Online (Sandbox Code Playgroud)
sudo nano/etc/ssmtp/revaliases:
root:MYNICK@gmail.com:smtp.gmail.com:587
Run Code Online (Sandbox Code Playgroud)
修改了该文件之后,我运行命令service apache2 restart
并测试发送电子邮件我没有在我的电子邮件中收到电子邮件,我在下一个日志中看到很多"授权失败"错误
grep -riI ssmtp /var/log
var/log/syslog.1:Oct 30 00:34:04 nsn-do-lamp sSMTP[24892]: Creating SSL connection to host
/var/log/syslog.1:Oct 30 00:34:04 nsn-do-lamp sSMTP[24892]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/syslog.1:Oct 30 00:34:05 nsn-do-lamp sSMTP[24892]: Authorization failed (534 5.7.14 https://support.google.com/mail/answer/78754 y76-v6sm12958494wmd.37 - gsmtp)
/var/log/syslog.1:Oct 30 01:34:04 nsn-do-lamp sSMTP[25660]: Creating SSL connection to host
/var/log/syslog.1:Oct 30 01:34:04 nsn-do-lamp sSMTP[25660]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/syslog.1:Oct 30 01:34:04 nsn-do-lamp sSMTP[25660]: Authorization failed (534 5.7.14 https://support.google.com/mail/answer/78754 60-v6sm16580038wra.35 - gsmtp)
/var/log/syslog.1:Oct 30 02:34:05 nsn-do-lamp sSMTP[26444]: Creating SSL connection to host
/var/log/syslog.1:Oct 30 02:34:05 nsn-do-lamp sSMTP[26444]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/syslog.1:Oct 30 02:34:05 nsn-do-lamp sSMTP[26444]: Authorization failed (534 5.7.14 https://support.google.com/mail/answer/78754 t16-v6sm274794wrr.12 - gsmtp)
/var/log/syslog.1:Oct 30 03:34:06 nsn-do-lamp sSMTP[27101]: Creating SSL connection to host
/var/log/syslog.1:Oct 30 03:34:07 nsn-do-lamp sSMTP[27101]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/syslog.1:Oct 30 03:34:07 nsn-do-lamp sSMTP[27101]: Authorization failed (534 5.7.14 https://support.google.com/mail/answer/78754 m16-v6sm13164091wmd.35 - gsmtp)
/var/log/syslog.1:Oct 30 04:34:04 nsn-do-lamp sSMTP[27852]: Creating SSL connection to host
/var/log/syslog.1:Oct 30 04:34:04 nsn-do-lamp sSMTP[27852]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/syslog.1:Oct 30 04:34:05 nsn-do-lamp sSMTP[27852]: Authorization failed (534 5.7.14 https://support.google.com/mail/answer/78754 143-v6sm17450782wmv.6 - gsmtp)
/var/log/syslog.1:Oct 30 05:34:04 nsn-do-lamp sSMTP[28734]: Creating SSL connection to host
/var/log/syslog.1:Oct 30 05:34:04 nsn-do-lamp sSMTP[28734]: SSL connection using ECDHE_RSA_CHACHA20_POLY1305
/var/log/syslog.1:Oct 30 05:34:04 nsn-do-lamp sSMTP[28734]: Authorization failed (534 5.7.14 https://support.google.com/mail/answer/78754 b5-v6sm1822874wrf.15 - gsmtp)
Run Code Online (Sandbox Code Playgroud)
1)可以是一些我需要重新启动apache2的服务
2)在我看来,这些日志消息不是最后的,因为运行:
# date
Tue Oct 30 12:02:40 UTC 2018
Run Code Online (Sandbox Code Playgroud)
我看到时差,就像没有最后的消息行是否有办法清除ssmtp日志?
3)在数字海洋下重启ubuntu 18的安全方法是什么,没有液滴损坏?在某些情况下,我不确定是否要重新启动某些服务,我更喜欢重启系统...
修改块#4:感谢您的反馈!我试着按照你的指示:1)我激活了两个因素身份验证:https://imgur.com/a/azIZCY0.但是如果我对这些应用做些什么呢?
2)我的密码为https://imgur.com/a/ZddUZ31,格式为XXXX XXXX XXXX XXXX
3)密码创建后我有下一页https://imgur.com/a/1qkQLDN:
4)你提到过
"在.env文件中使用应用密码"
哪个必须是此密码的var名称?像
AuthPass=MYPASSWORD # password without spaces in it?
Run Code Online (Sandbox Code Playgroud)
在/etc/ssmtp/ssmtp.conf或其他名称?我只需要生成这个新密码吗?
谢谢!
当我们使用 Google Apps for work 帐户中的一些“新”gmail 地址时,我们也遇到过类似的问题。谷歌似乎对新地址进行了某种启发式运行,阻止未知应用程序的应用程序访问。
我们的解决方案是启用双因素身份验证,然后生成应用程序密码。脚步: