如何使用Google Apps设置Ubuntu Mail Server?


17

我有一个域,我们称它为foobar.com。foob​​ar.com的所有MX记录均指向Google的邮件服务器,因为我正在使用您域的Google Apps对其进行管理。太好了,因为每个人都可以获得GMail的所有优势,但是我们的电子邮件地址不是@ gmail.com。

我也有一台服务器。首先,它是一个Web服务器,但它还提供其他功能。它提供的服务之一是foobar.com的网站,以及各种虚拟主机(例如shop.foobar.com和forum.foobar.com)的网站。该服务器正在运行Ubuntu 8.04,因为我喜欢在生产中使用LTS版本。

问题是,服务器上正在运行各种应用程序,这些应用程序需要能够发送电子邮件。诸如cron作业之类的各种应用程序会在出现错误的情况下向我发送电子邮件。一些Web应用程序需要在用户忘记密码时向用户发送电子邮件,以确认新的注册用户等。最后,能够使用mail命令或mutt从命令行发送电子邮件是一件很不错的事情。 。

如何在网络服务器上设置邮件以通过Google Apps邮件服务器?我不需要Web服务器来接收邮件,尽管那很酷。我确实需要它能够以任何合法地址@ foobar.com发送邮件。这样,论坛应用程序可以在“发件人”字段中以“ forum@foobar.com”发送邮件,而电子商务应用程序将在“发件人”字段中具有shop@foobar.com。另外,通过Google服务器发送邮件,我们可以避免由于网络上各种垃圾邮件过滤器阻止电子邮件而造成的许多问题。Google的SMTP服务器比我的受信任得多。

我对Linux系统的管理非常擅长,但是在涉及电子邮件方面我绝对不知所措。我需要从头到尾逐步说明如何进行设置。我需要知道所有要安装的东西,以及对配置文件进行的每一次必要更改。过去,我曾尝试遵循各种方法和指南,但没有一个是正确的。他们根本不工作,或者提供的配置不是我想要的。

请帮忙。谢谢。

Answers:


19

最简单的方法是避免使用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

我已经使用此设置已有一段时间了,并且可以正常工作-不需要时运行exim并让Google的邮件服务器为您处理所有事情也很不错。


甜!它完全有效。你是我的英雄。
09年

我收到此消息;软件包mailx是由以下人员提供的虚拟软件包:mailutils 1:2.2 + dfsg1-3 heirloom-mailx 12.5-1build1 bsd-mailx 8.1.2-0.20100314cvs-1您应该明确选择一个要安装的软件包。E:“ mailx”软件包没有安装候选软件包
YasinOkumuş2012年

谢谢你 我确实发现的一件事是,我不得不为此用户在Google帐户中启用“ Less Secure Apps”
mikestreety

3

基本上,这很容易。

$ 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也可以正常工作,但是对于邮件传递来说显得很慢。另外,我更喜欢连接恶魔。


2

请记住,免费版GMail的出站限制为每天500封邮件。如果您不超过此限制,松饼的解决方案将非常适合您。


如果我超过了那么多电子邮件,我将获得专用的邮件发送服务。
2009年

1

您应该能够将Google的邮件服务器用作SMTP网关,并向用户进行身份验证。

http://www.google.com/support/a/bin/answer.py?hl=zh_CN&answer=60730

以下是一些基本的伪代码,可为您提供一个想法:

smtpHost = smtp.gmail.com
smtpUsername = name@domain.com
smtpPassword = your_password
smtpType = tls
smtpPort = 465

更新:

这是一个可能会有所帮助的链接。它与我所寻找的不完全相同,但足够合理(我希望)能给您一个想法,使cron作业可以通过Google应用发送电子邮件。

http://bakingnoodles.com/tag/linux/

这个小应用程序可能也很有用(警告:我自己还没有尝试过)

http://linux.softpedia.com/get/Communications/Email/Email-2-6805.shtml


另一种选择是将Postfix配置为使用Google Apps进行所有邮件传递。如果您在Google上搜索“配置Postfix Google应用程序”,则会发现一堆链接,包括以下链接:

http://blog.twinklesprings.com/2008/03/27/remote-mail-delivery-for-google-apps-and-postfix-mail-server/


Ubuntu是否使用后缀或exim?如果其exim类似于Debian,则dpkg-reconfigure exim4-config应该为您提供了通过smarthost发送邮件的选项,并且您应该能够将其配置为gmail。
德罗伯特

Postfix是Ubuntu中的默认邮件传输代理(MTA)。我相信至少要8.04。
KPWINC

我没有网关选项,因为我有免费的Google Apps,而不是付费版本。另外,网关似乎并不能完全满足我的要求。我不想通过我的服务器路由任何邮件。我只希望服务器能够发送来自地址@mydomain的任何邮件。另外,我过去也尝试过smarthost。它可以工作,但是所有发送出去的电子邮件都被标记为来自我用来验证smarthost的用户的电子邮件。
2009年

1

如果您不需要接收邮件,则实际上不需要通过Google发送邮件。如果正确设置DNS记录,则应该能够从Web服务器上的MTA发送邮件。

如果使用的是SPF,则需要确保将其更新为包括应用程序服务器。


1

在postfix中非常简单:

nano /etc/postfix/main.cnf

改变以下

mydestination = mydomain.com,localhost.mydomain.com,localhost

mydestination = localhost.mydomain.com, localhost

重新启动服务器,您就完成了!


这解决了我的问题。
dguaraglia
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.