问题描述
我有一个域,我们称它为foobar.com。 foobar.com的所有MX记录都指向Google的邮件服务器,因为我正在使用Google Apps for your domain对其进行管理。太好了,因为每个人都可以享受GMail的所有优势,但是我们的e-mail地址不是@ gmail.com。
我也有一台服务器。首先,它是一个Web服务器,但它还提供其他功能。它提供的服务之一是foobar.com的网站,以及各种虚拟主机(例如shop.foobar.com和forum.foobar.com)的网站。该服务器正在运行Ubuntu 8.04,因为我喜欢在生产中使用LTS版本。
问题是,服务器上正在运行各种应用程序,这些应用程序需要能够发送电子邮件。万一发生错误,各种应用程序(例如cron作业)都会向我发送e-mails。一些Web应用程序需要在用户忘记密码时向用户发送e-mail,以确认新的注册用户等。最后,很高兴能够使用mail命令或mutt从命令行发送e-mail。
如何在网络服务器上设置邮件以通过Google Apps邮件服务器?我不需要Web服务器来接收邮件,尽管那很酷。我确实需要它能够以任何合法地址@ foobar.com发送邮件。这样,论坛应用程序可以在“发件人”字段中发送带有“ forum@foobar.com”的邮件,而电子商务应用程序将在“发件人”字段中包含shop@foobar.com。另外,通过Google服务器发送邮件,我们可以避免e-mails被网络上的各种垃圾邮件过滤器阻止的许多问题。 Google的SMTP服务器比我的受信任得多。
我对Linux系统的管理非常擅长,但是对于e-mail来说,我绝对会死。我需要从头到尾逐步说明如何进行设置。我需要知道所有要安装的东西,以及对配置文件进行的每一次必要更改。过去,我曾尝试遵循各种方法和指南,但没有一个是正确的。他们根本不工作,或者提供的配置不是我想要的。
请帮忙。谢谢。
最佳回答
最简单的方法是避免使用exim并使用轻量级MTA的sSMTP。
您需要做的就是安装它:
sudo apt-get install ssmtp mailutils
并将其配置(编辑/etc/ssmtp/ssmtp.conf)以使用您的Google Mail服务器,请参见:
root=noreply@yourdomain.com
mailhub=smtp.gmail.com:587
UseSTARTTLS=yes
UseTLS=yes
AuthUser=youremail@yourdomain.com
AuthPass=password
FromLineOverride=YES
我使用set-up已经有一段时间了,并且可以正常工作-不需要时运行exim也很高兴,并且让Google的邮件服务器为您处理所有事情。
次佳回答
基本上,这很容易。
$ sudo dpkg-reconfigure exim4-config
选择所有对您有意义的东西-只要您选择带有智能主机的东西即可。当询问您使用哪种智能主机的问题时,请回答:smtp.gmail.com::587
然后编辑文件/etc/exim4/passwd.client以匹配
gmail-smtp.l.google.com:login@yourappdomain.com:p@sSw0rd
*.google.com:login@yourappdomain.com:p@sSw0rd
smtp.gmail.com:login@yourappdomain.com:p@sSw0rd
这就是工作。
ssmtp也可以正常工作,但是对于邮件传递来说显得很慢。另外,我更喜欢连接恶魔。