у меня есть Sendmail
установлен под Ubuntu 16.04.1. Мои потребности просты:
КРОМЕ
Я знаю, что это просто, но не могу понять, как этого добиться.
я получил virtusertable
это выглядит так:
specificuser@domain.com user2@gmail.com
@domain.com user1@gmail.com
Может ли кто-нибудь помочь мне настроить это, пожалуйста? Спасибо!
Установить необходимые компоненты
apt-get install sendmail mailutils sendmail-bin
Создайте файл аутентификации Gmail
Создайте фактический каталог для файла аутентификации
mkdir -m 700 /etc/mail/authinfo/
cd /etc/mail/authinfo/
Создайте сам файл аутентификации
vi /etc/mail/authinfo/gmail-auth
Поместите это в содержимое gmail-auth (убедитесь, что ввели правильный user / gmail / password (также оставьте префиксы U: user I: email P: password))
AuthInfo: "U:root" "I:YOUR GMAIL EMAIL ADDRESS" "P:YOUR PASSWORD"
Затем вы хотите создать хеш-карту для файла аутентификации.
makemap hash gmail-auth < gmail-auth
Настройте свой Sendmail
Добавьте следующий блок кода прямо над первой строкой определения "ПОЧТОВОЙ"
define(`SMART_HOST',`[smtp.gmail.com]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/authinfo/gmail-auth.db')dnl
Затем вам нужно скомпилировать конфигурацию sendmail.
make -C /etc/mail
Перезапустите sendmail, чтобы принять изменения
/etc/init.d/sendmail reload
Тест конфигурации
echo "Just testing my sendmail gmail relay" | mail -s "Sendmail gmail Relay" my-email@my-domain.com
На этом этапе у вас должно работать реле. Теперь перейдем к виртуальным возможностям.
Виртуозный
Чтобы создать виртуальные сопоставления, вы должны сначала создать текстовый файл в каталоге / etc / mail / вашего сервера. Каждая запись в virtusertable должна быть в одной строке. Исходный адрес получателя с левой стороны с одним или несколькими пробелами или табуляцией, отделяющими его от правой стороны, которая содержит адрес получателя.
Пример:
vi /etc/mail/virtusertable
user@domain.com user@gmail.com
@domain.com master@domain.com
Каждый раз, когда вы вносите изменения в текстовый файл / etc / mail / virtusertable, вам нужно будет создать файл базы данных, который может читать sendmail. Следующая команда создаст файл /etc/mail/virtusertable.db при запуске от root:
makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
Теперь перезапустите sendmail, и все должно работать должным образом.
/etc/init.d/sendmail reload
вы пробовали ssmtp?
SMTP - это программа, которая доставляет электронную почту с локального компьютера на настроенный почтовый хост (mailhub).
с настройкой Gmail
http://www.havetheknowhow.com/Configure-the-server/Install-ssmtp.html
Скорее всего, для отправки сообщений вам потребуется пройти аутентификацию в Gmail. В противном случае письмо может рассматриваться как спам. Это делается путем настройки записи пароля клиента (где ваш сервер является клиентом).
Для установки Exim4 я бы сделал следующее:
Маршрутизатор псевдонима по умолчанию не обрабатывает подстановочные знаки, но это простая модификация для добавления подстановочных знаков.
Эти шаги применимы для любого серверного программного обеспечения, которое вы хотите использовать. Некоторое программное обеспечение может по умолчанию использовать смарт-хост.
Sendmail обращается к virtusertable только для доставки на адреса электронной почты в локальных доменах электронной почты ($=w
) и домены, перечисленные в $={VirtHost}
.
Sendmail по умолчанию добавляет несколько имен в $=w
автоматически.
Вы можете проверить приведенные выше списки (классы), используя в качестве root команды ниже
echo `$=w` | sendmail -bt
echo `$={VirtHost}` | sendmail -bt
1) Вы можете добавить domain.com в $={VirtHost}
в sendmail.mc
LOCAL_CONFIG
C{VirtHost} domain.com
divert(0)dnl
2) Вы можете разрешить ретрансляцию к домен из любого места в Интернете со следующей записью в таблице доступа:
to:domain.com RELAY
ПРЕДУПРЕЖДЕНИЯ
A) Поскольку он оставит отправителя конверта без изменений, Gmail может отклонить или рассматривать как спам некоторые перенаправленные сообщения.
Б) Такая пересылка в Gmail не рекомендуется без фильтрации спама
=> Я бы порекомендовал (немного) более сложное решение с ретрансляцией через скрипт procmail. Он перепишет отправителя конверта и обеспечит защиту от спама