当前位置: 首页 > 科技观察

在Ubuntu16.04上配置msmtp

时间:2023-03-16 21:21:56 科技观察

这篇文章与我之前关于在Ubuntu16.04上配置MSMTP的博文重复。我再次发帖跟进,我不知道它是否适用于更高版本。由于我不再托管我自己的Ubuntu/MSMTP服务器,我现在看不到更新,但如果我需要再次设置它,我会创建一个更新的帖子!无论如何,这就是我所拥有的。我之前写过一篇关于在Ubuntu12.04上配置msmtp的文章,但正如我在上一篇文章中暗示的那样,我在升级到Ubuntu16.04后遇到了一些问题。接下来的内容基本相同,只是针对16.04进行了一些小的更新。和以前一样,这假设您使用Apache作为您的Web服务器,但我相信如果您选择另一个Web服务器,它应该是相似的。我使用msmtp从这个博客发送电子邮件,以通知我评论、更新等。这里我将记录如何配置它以通过GoogleApps帐户发送电子邮件,尽管这应该像标准的Google帐户一样工作。首先,我们需要安装3个软件包:sudoapt-getinstallmsmtpmsmtp-mtaca-certificates安装完成后需要进行默认配置。默认情况下msmtp在/etc/msmtprc中查找,所以我使用vim创建了这个文件,尽管任何文本编辑器都可以做到这一点。该文件如下所示:#Setdefaults.defaults#EnableordisableTLS/SSLencryption.tlsontls_starttlsontls_trust_file/etc/ssl/certs/ca-certificates.crt#SetupWPaccount'ssettings.accountGMAILhostsmtp.gmail.comport587authloginuserYOURUSERNAMEpasswordYOURPASSWORD来自FROM@ADDRESSlogfile/var/log/msmtp/msmtp.logaccountdefault:任何大写选项都需要用您的特定配置替换。日志文件是一个例外,但当然您可以将事件/警告/错误放在任何您想要的地方。文件保存后,我们将更新上述配置文件的权限,如果文件权限太开放,msmtp将无法运行,并创建日志文件的目录。sudomkdir/var/log/msmtpsudochown-Rwww-data:adm/var/log/msmtpsudochmod0600/etc/msmtprc接下来,我选择为msmtp日志配置logrotate,以确保日志文件不会变得太大,让日志目录更干净。为此,我们创建/etc/logrotate.d/msmtp并按如下方式使用配置。请注意,这是可选的,您可以选择不这样做,也可以选择以不同方式配置日志记录。/var/log/msmtp/*.log{rotate12monthlycompressmissingoknotifempty}既然配置了日志,我们需要通过编辑/etc/php/7.0/apache2/php.ini告诉PHP使用msmtp并更改sendmailpathfromsendmail_path=变成sendmail_path="/usr/bin/msmtp-C/etc/msmtprc-a-t"这里我有一个问题,即使我指定了账户名,当我测试它时,它不发送电子邮件正确邮件。这就是帐户默认:行位于msmtp配置文件末尾的原因。要测试配置,请确保保存PHP文件并运行sudoserviceapache2restart,然后运行??php-a并执行以下命令mail('personal@email.com','TestSubject','Testbodytext');出口();此时发生的任何错误都将显示在输出中,因此错误诊断将相对容易。如果一切顺利,您现在应该可以使用PHPsendmail(或至少是WordPress)通过Gmail(或GoogleApps)从您的Ubuntu服务器发送电子邮件。我并没有说这是最安全的配置,所以当你看到并意识到这是非常不安全的,或者有其他严重的错误时,请告诉我,我会相应地更新。