Как настроить почтовый сервер Ubuntu с помощью Google Apps?

17

У меня есть домен, назовем его foobar.com. Все записи MX для foobar.com указывают на почтовые серверы Google, потому что я использую Google Apps для вашего домена, чтобы управлять им. Это здорово, потому что все получают все преимущества GMail, но наши адреса электронной почты не @ gmail.com.

У меня также есть сервер. Прежде всего, это веб-сервер, но он также служит другим вещам. Одной из вещей, которую он обслуживает, является веб-сайт foobar.com, а также сайты для различных виртуальных хостов, таких как shop.foobar.com и forum.foobar.com. Сервер работает под управлением Ubuntu 8.04, потому что мне нравится использовать релизы LTS в производстве.

Дело в том, что на сервере работают различные приложения, которым требуется возможность отправлять электронные письма. Различные приложения, такие как cron jobs, отправляют мне электронные письма в случае ошибок. Некоторым веб-приложениям необходимо отправлять электронную почту пользователям, когда они забывают свои пароли, подтверждать новых зарегистрированных пользователей и т. Д. Наконец, приятно иметь возможность отправлять электронную почту из командной строки с помощью команды mail или mutt ,

Как настроить почту на веб-сервере для прохождения через почтовые серверы приложений Google? Мне не нужен веб-сервер для получения почты, хотя это было бы круто. Мне нужно, чтобы он мог отправлять почту на любой законный адрес @ foobar.com. Таким образом, приложение форума может отправлять письма с forum@foobar.com в поле from, а приложение электронной коммерции будет иметь shop@foobar.com в поле from. Кроме того, отправляя почту через серверы Google, мы можем избежать многих проблем, связанных с блокировкой электронной почты различными фильтрами нежелательной почты в Интернете. SMTP-серверам Google доверяют гораздо больше, чем моим.

Я неплохо справляюсь с администрированием Linux-систем, но у меня совершенно умственные способности, когда дело доходит до электронной почты. Мне нужно пошаговые инструкции от начала до конца о том, как это настроить. Мне нужно знать все, что нужно установить, и все необходимые изменения в файлах конфигурации. В прошлом я пытался следовать различным инструкциям и инструкциям, но ни один из них не был совершенно прав. Либо они вообще не работали, либо предлагали конфигурацию, которая не соответствует моим требованиям.

Пожалуйста помоги. Благодарю.

Apreche
источник

Ответы:

19

Самый простой способ сделать это - избежать использования exim и использовать sSMTP, который является легковесным MTA.

Все, что вам нужно сделать, это установить его:

sudo apt-get install ssmtp mailutils

и настройте его (отредактируйте /etc/ssmtp/ssmtp.conf) для использования ваших почтовых серверов Google, смотрите:

root=noreply@yourdomain.com
mailhub=smtp.gmail.com:587
UseSTARTTLS=yes
UseTLS=yes
AuthUser=youremail@yourdomain.com
AuthPass=password
FromLineOverride=YES

Я уже давно пользуюсь этой настройкой, и она просто работает - также хорошо, что не нужно запускать exim, когда в этом нет необходимости, и позволить почтовым серверам Google все для вас обработать.

muffinresearch
источник
Сладкий! Это полностью сработало. Ты мой герой.
Апрче
Я получил это сообщение; Пакет mailx представляет собой виртуальный пакет, предоставленный: mailutils 1: 2.2 + dfsg1-3 heirloom-mailx 12.5-1build1 bsd-mailx 8.1.2-0.20100314cvs-1 Вам необходимо явно выбрать один для установки. E: У пакета 'mailx' нет кандидата для установки
Ясин Окумуш
Спасибо за это. Я обнаружил, что для этого пользователя мне пришлось включить «Менее безопасные приложения» в аккаунте Google
mikestreety
3

В принципе, это очень просто.

$ sudo dpkg-reconfigure exim4-config

Выбирайте все, что имеет для вас смысл, если вы выбираете что-то с помощью smarthost. Когда появится вопрос о том, какой смарт-хост использовать, ответьте: 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 сообщений в день. Если вы не превысите этот лимит, решение для булочек подойдет вам.

sharjeel
источник
Если бы я превысил столько электронных писем, я бы получил специальную услугу отправки почты.
Apreche
1

Вы должны иметь возможность использовать почтовые серверы Google в качестве SMTP-шлюза и проходить аутентификацию пользователя.

http://www.google.com/support/a/bin/answer.py?hl=en&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 для всех ваших почтовых отправлений. Если вы выполните поиск в Google по запросу «настроить постфиксные приложения Google», вы найдете несколько ссылок, включая следующую:

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

KPWINC
источник
Использует ли Ubuntu postfix или exim? Если его exim похож на Debian, то dpkg-reconfigure exim4-config должен дать вам возможность отправлять почту через smarthost, и вы сможете настроить его для gmail.
Дероберт
Postfix - агент передачи почты по умолчанию (MTA) в Ubuntu. По крайней мере, на 8.04 я верю.
KPWINC
Я не могу выбрать параметры шлюза, потому что у меня есть бесплатные Google Apps, а не платная версия. Кроме того, шлюз не похоже, что он делает именно то, что я хочу. Я не хочу направлять почту через мой сервер. Я просто хочу, чтобы сервер мог отправлять почту с любого адреса @mydomain. Кроме того, я пробовал smarthost в прошлом. Это работает, но все отправляемые электронные письма помечаются как те, что принадлежат пользователю, которого я использую для аутентификации smarthost.
Апреч
1

Если вам не нужно получать почту, вам действительно не нужно отправлять ее через Google. Если вы правильно настроили свои записи DNS, вы сможете отправлять почту с MTA на веб-сервере.

Если вы используете SPF, убедитесь, что обновили его, чтобы включить сервер приложений.

Zoredache
источник
1

Это довольно просто в postfix:

nano /etc/postfix/main.cnf

изменить следующее

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

в

mydestination = localhost.mydomain.com, localhost

перезагрузите сервер и все готово!

alfish
источник
Это исправило мою проблему.
Дгуаралья