Назад | Перейти на главную страницу

Пересылка sendmail?

у меня есть 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

https://wiki.archlinux.org/index.php/SSMTP

Скорее всего, для отправки сообщений вам потребуется пройти аутентификацию в Gmail. В противном случае письмо может рассматриваться как спам. Это делается путем настройки записи пароля клиента (где ваш сервер является клиентом).

Для установки Exim4 я бы сделал следующее:

  • Настройте сервер на использование одного из адресов MX Gmail в качестве smarthost (с аутентификацией);
  • Настройте псевдоним с подстановочными знаками для своего домена; и
  • Установите псевдоним с подстановочным знаком для домена.

Маршрутизатор псевдонима по умолчанию не обрабатывает подстановочные знаки, но это простая модификация для добавления подстановочных знаков.

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

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. Он перепишет отправителя конверта и обеспечит защиту от спама