Получение электронной почты на новом Debian

Получение электронной почты на новом Debian

Я переустановил чистый Debian 8 на свой VPS.

Все настроено на значения по умолчанию.

dpkg -s exim4и dpkg -s postfixговорит, что eximне являетсяустановлен, и этот постфиксявляетсяустановлен. Это подтверждается тем lsof -i :25, что показывает PID 478, затем ps p 478показывает 478 ? Ss 0:00 /usr/lib/postfix/master. Я не делал apt-get install postfix, похоже, что он был установлен по умолчанию.

Я уже создал запись DNS MX для example.comсвоего регистратора, направив ее на свой сервер.

Я только что отправил письмо со своего Gmail на адрес [email protected].

  1. Я все еще вижу, No mailкогда делаю $ mail.

  2. Как узнать, пришло ли что-то на postfix?

  3. Нужно ли настроить новую установку Debian, чтобы принимать электронную почту из Интернета?

  4. Стоит ли мне создать почтовый ящик rootлокально, чтобы принимать почту, приходящую от внешних почтовых программ [email protected]?


Вот результат iptables(без изменений, конфигурация по умолчанию):

root@blah:~# iptables -nvL
Chain INPUT (policy ACCEPT 77135 packets, 50M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 2 packets, 120 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 66416 packets, 11M bytes)
 pkts bytes target     prot opt in     out     source               destination

Теперь я вижу в cat /var/log/mail.logэтом:

Nov 22 11:57:32 blah postfix/smtpd[10485]: connect from mail-ua0-f171.google.com[209.85.xxx.xxx]  
Nov 22 11:57:32 blah postfix/smtpd[10485]: NOQUEUE: reject: RCPT from mail-ua0-f171.google.com[209.85.xxx.xxx]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-ua0-f171.google.com>  
Nov 22 11:57:32 blah postfix/smtpd[10485]: disconnect from mail-ua0-f171.google.com[209.85.xxx.xxx]

решение1

Эта строка содержит полезную информацию, которая вам нужна

Nov 22 11:57:32 blah postfix/smtpd[10485]: NOQUEUE: reject: RCPT from  mail-ua0-f171.google.com[209.85.xxx.xxx]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected] ...

Это говорит вам о том, что ваш компьютер отказывается передавать сообщение от Google[email protected]. Теперь вы знаете, что ваш компьютер — example.com, но, очевидно, ваш компьютер не знает.

Решение: измените локальную конфигурацию, включив example.com в качестве имени для вашей локальной машины. На веб-сайте Postfix (((BASIC_CONFIGURATION_README.html)[ имеется легко читаемый документhttp://www.postfix.org/BASIC_CONFIGURATION_README.html#mydestination]), который объясняет, как это настроить:

Мое собственное доменное имя

Параметр mydomain указывает родительский домен $myhostname. По умолчанию он получается из $myhostname путем отбрасывания первой части (если только результатом не будет домен верхнего уровня).

И наоборот, если указать mydomain в main.cf, то Postfix будет использовать его значение для генерации полного значения по умолчанию для параметра myhostname.

Примеры (укажите только один из следующих):

/etc/postfix/main.cf:
    mydomain = local.domain
    mydomain = virtual.domain (virtual interface)

На какие домены получать почту

Параметр mydestination указывает, какие домены эта машина будет доставлять локально, а не пересылать на другую машину. По умолчанию принимается почта для самой машины. Смотрите файл VIRTUAL_README, чтобы узнать, как настроить Postfix для размещенных доменов.

Вы можете указать ноль или более доменных имен, шаблонов "/file/name" и/или таблиц поиска "type:table" (таких как hash:, btree:, nis:, ldap: или mysql:), разделенных пробелами и/или запятыми. Шаблон "/file/name" заменяется своим содержимым; "type:table" запрашивает выполнение поиска в таблице и просто проверяет ее существование: результат поиска игнорируется.

ВАЖНО: Если ваш компьютер является почтовым сервером для всего домена, необходимо также указать $mydomain.

Пример 1: настройка по умолчанию.

/etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost

Пример 2: почтовый сервер домена.

/etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost $mydomain

Пример 3: хост с несколькими записями DNS A.

/etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost 
        www.$mydomain ftp.$mydomain

Внимание: чтобы избежать зацикливания доставки почты, необходимо указать все имена хостов машины, включая $myhostname и localhost.$mydomain.

Итак, этого должно быть достаточно:

mydomain = example.com
...
mydestination = $myhostname localhost.$mydomain localhost $mydomain

решение2

В дополнение к ответу roaima, это решило проблему:

  1. Добавьте доменное имя в mydestination = <....>, mydomain.comконце/etc/postfix/main.cf

  2. Закомментируйте эту строку:#mailbox_command = procmail -a "$EXTENSION"

  3. Затем отправьте письмо с Gmail на адрес [email protected], подождите несколько секунд.

  4. Сделайте это mail, вы увидите новое письмо :)

Связанный контент