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

Как настроить Postfix только для SMTP для нескольких доменов

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

Я пытаюсь настроить сервер Postfix в качестве хоста только для SMTP для нескольких доменных имен. Я не разрешаю удаленное соединение. Я просто хочу иметь возможность использовать свои скрипты cron для отправки писем для различных доменов. В настоящее время Postfix устанавливается по умолчанию, но я добавил

 myhostname=example.com

Теперь проблема в том, что если я отправляю электронное письмо с email@example2.com, хост, показанный в заголовках электронной почты (не в адресе От), является example.com, точный заголовок

Received: from example.com 

мой исходный адрес правильный. Простите меня, но я действительно не очень разбираюсь в почтовых серверах. Мои входящие данные обрабатываются другим хостинг-провайдером, и я знаю, что мне нужно добавить обратный DNS и т. Д. Так что, пожалуйста, если кто-нибудь знает, что мне делать, чтобы все домены имели правильные записи DNS плюс хорошую конфигурацию постфикса. Я хочу, чтобы postfix использовал то же доменное имя, что и адрес отправителя. Мне нужен только smtp и больше ничего.

Я искал в Google и Stacks, но никто не ответил на вопрос полностью, даже если вопрос был похож.

Заранее спасибо, я все еще RTFMing повсюду.

Я также получаю эти ошибки в своем mailog. Я заменил действительное доменное имя на MYDOMAIN, а реальное системное имя пользователя на USER

Feb 14 22:53:13 li222-89 postfix/smtpd[28433]: connect from localhost[127.0.0.1]
Feb 14 22:53:13 li222-89 postfix/smtpd[28433]: 428FCA400C: client=localhost[127.0.0.1]
Feb 14 22:53:13 li222-89 postfix/cleanup[28436]: 428FCA400C: message-id=<4d59f8a8-0ab4-4aee-b6e6-6f0c9389ad7c@>
Feb 14 22:53:13 li222-89 postfix/qmgr[27293]: 428FCA400C: from=<noreply@MYDOMAIN.net>, size=1047, nrcpt=1 (queue active)
Feb 14 22:53:13 li222-89 postfix/smtpd[28433]: disconnect from localhost[127.0.0.1]
Feb 14 22:53:13 li222-89 postfix/smtp[27755]: certificate verification failed for gmail-smtp-in.l.google.com: num=20:unable to get local issuer certificate
Feb 14 22:53:13 li222-89 postfix/smtp[27755]: certificate verification failed for gmail-smtp-in.l.google.com: num=27:certificate not trusted
Feb 14 22:53:13 li222-89 postfix/pickup[26953]: C3761A400D: uid=500 from=<USER>
Feb 14 22:53:13 li222-89 postfix/cleanup[28436]: C3761A400D: message-id=<20110215035313.C3761A400D@example.net>
Feb 14 22:53:13 li222-89 postfix/qmgr[27293]: C3761A400D: from=<USER@net.net>, size=3237, nrcpt=1 (queue active)
Feb 14 22:53:14 li222-89 postfix/smtp[26830]: certificate verification failed for aspmx.l.google.com: num=20:unable to get local issuer certificate
Feb 14 22:53:14 li222-89 postfix/smtp[26830]: certificate verification failed for aspmx.l.google.com: num=27:certificate not trusted
Feb 14 22:53:15 li222-89 postfix/smtp[27755]: 428FCA400C: to=<somebodysomebody@gmail.com>, relay=gmail-smtp-in.l.google.com[74.125.155.27]:25, delay=2.6, delays=0.02/0.02/0.66/1.9, dsn=2.0.0, status=sent (250 2.0.0 OK 1297741995 l9si6487318yhl.10)
Feb 14 22:53:15 li222-89 postfix/qmgr[27293]: 428FCA400C: removed
Feb 14 22:53:17 li222-89 postfix/smtp[26830]: C3761A400D: to=<USER@net.net>, orig_to=<USER>, relay=aspmx.l.google.com[74.125.155.27]:25, delay=14, delays=11/0/0.44/3.1, dsn=5.1.1, status=bounced (host aspmx.l.google.com[74.125.155.27] said: 550-5.1.1 The email account that you tried to reach does not exist. Please try 550-5.1.1 double-checking the recipient's email address for typos or 550-5.1.1 unnecessary spaces. Learn more at                              550 5.1.1 http://mail.google.com/support/bin/answer.py?answer=6596 hj39si8560308ibb.50 (in reply to RCPT TO command))
Feb 14 22:53:17 li222-89 postfix/cleanup[28436]: 726DFA400C: message-id=<20110215035317.726DFA400C@example.net>
Feb 14 22:53:17 li222-89 postfix/qmgr[27293]: 726DFA400C: from=<>, size=5596, nrcpt=1 (queue active)
Feb 14 22:53:17 li222-89 postfix/bounce[28222]: C3761A400D: sender non-delivery notification: 726DFA400C
Feb 14 22:53:17 li222-89 postfix/qmgr[27293]: C3761A400D: removed
Feb 14 22:53:17 li222-89 postfix/smtp[27755]: certificate verification failed for aspmx.l.google.com: num=20:unable to get local issuer certificate
Feb 14 22:53:17 li222-89 postfix/smtp[27755]: certificate verification failed for aspmx.l.google.com: num=27:certificate not trusted
Feb 14 22:53:21 li222-89 postfix/smtp[27755]: 726DFA400C: to=<USER@net.net>, relay=aspmx.l.google.com[74.125.155.27]:25, delay=3.6, delays=0.02/0.01/0.44/3.1, dsn=5.1.1, status=bounced (host aspmx.l.google.com[74.125.155.27] said: 550-5.1.1 The email account that you tried to reach does not exist. Please try 550-5.1.1 double-checking the recipient's email address for typos or 550-5.1.1 unnecessary spaces. Learn more at                              550 5.1.1 http://mail.google.com/support/bin/answer.py?answer=6596 mu18si8573893ibb.7 (in reply to RCPT TO command))
Feb 14 22:53:21 li222-89 postfix/qmgr[27293]: 726DFA400C: removed

Очевидно, он пытается отправить электронное письмо на учетную запись Gmail, но что-то не так ... действительно неправильно.

Feb 14 22:53:17 li222-89 postfix/smtp[27755]: certificate verification failed for aspmx.l.google.com: num=20:unable to get local issuer certificate
Feb 14 22:53:17 li222-89 postfix/smtp[27755]: certificate verification failed for aspmx.l.google.com: num=27:certificate not trusted

Если вы пытаетесь ретранслировать почту с помощью Gmail, тогда необходимо будет использовать TLS с Postfix. Сначала дважды проверьте, что Postfix был настроен с поддержкой SSL (т.е. ldd должен возвращать хотя бы одну строку, начинающуюся с libssl):

$ whereis -b postfix
postfix: /usr/sbin/postfix /etc/postfix /usr/libexec/postfix
$ ldd /usr/sbin/postfix
...
libssl.so.6 => /lib/libssl.so.6 (0x00111000)
...

Теперь нам нужно найти комплект корневого сертификата CA вашего сервера, который обычно распространяется с openssl.

$ locate ca-bundle.crt
/etc/pki/tls/certs/ca-bundle.crt

Отредактируйте Postfix main.cf, включив TLS и SASL2 для аутентификации Gmail.

Обновите файл сертификата с новым поставщиком сертификатов Gmail.

relayhost = smtp.gmail.com:587

# your FQDN, or default value below
mydomain = example.com

# your local machine name, or default value below
myhostname = host.example.com
myorigin = $myhostname

# SASL
smtpd_sasl_path = smtpd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_type = cyrus
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous

# TLS
smtp_sasl_tls_security_options = noanonymous
smtp_use_tls  = yes
smtp_tls_CAfile = /path/to/your/ca-bundle.crt
smtp_sasl_tls_security_options = noanonymous

Конфигурация Postfix "как сделать" (main.cf)

Настройка Postfix с удаленным хостом ретрансляции SMTP

Я считаю, что это то, что вам нужно.

http://www.postfix.org/ADDRESS_REWRITING_README.html#generic

Пример:

/etc/postfix/main.cf:
    smtp_generic_maps = hash:/etc/postfix/generic

/etc/postfix/generic:
    his@localdomain.local       hisaccount@hisisp.example
    her@localdomain.local       heraccount@herisp.example
    @localdomain.local          hisaccount+local@hisisp.example

Итак, если у вас уже установлен и настроен postfix.

Откройте main.cf и добавьте общие настройки карт выше.

Затем откройте общий файл и добавьте @ example.com @ example2.com или любые другие настройки, которые вам нужны для вашей среды.

Это хэш-файл, поэтому, когда вы закончите, запустите postmap /etc/postfix/generic

Затем перезапустите postfix.

ОБНОВИТЬ

Похоже, это именно то, что вам нужно.

отредактируйте главный файл cf и измените эту строку

smtp inet n - n - - smtpd

Кому:

localhost:smtp  inet n - n - - smtpd
ipaddress1:smtp inet n - n - - smtpd
ipaddress2:smtp inet n - n - - smtpd -o myhostname=hostname2
.
.
.
ipaddressn:smtp inet n - n - - smtpd -o myhostname=hostname3

перезапустить постфикс

Очевидно, для этого потребуется настроить несколько IP-адресов, по одному для каждого домена, настроить обратный DNS и т. Д. Я считаю, что это единственный способ сделать это.