Ruby Mail Gem Ретранслирует доступ с локального хоста на Postfix

#ruby #email #mail-gem

#ruby #Адрес электронной почты #почта-gem

Вопрос:

Я нахожусь на рабочей станции, на которой нет FQDN . Я разрабатываю в Ruby и использую mail gem. Я размещаю свой собственный почтовый сервер в локальной сети. Я хочу пересылать исходящие электронные письма на этот сервер, а не получателю gmail (пример).

Из-за того, что я нахожусь на своей рабочей станции ( localhost ), он не распознается как часть одного из моих доменов локальной сети (у меня есть static IP ), он не распознается Postfix (из журнала моего почтового сервера):

 Mar 25 08:44:30 machine.mydomain1.com postfix/smtpd[9653]: sacl_check: mbr_user_name_to_uuid(mygmail@gmail.com) failed: No such file or directory
Mar 25 08:44:30 machine.mydomain1.com postfix/cleanup[9657]: sacl_check: mbr_user_name_to_uuid(mygmail@gmail.com) failed: No such file or directory
Mar 25 08:44:30 machine.mydomain1.com postfix/smtp[9658]: 92946D63CD4: to=<mygmail@gmail.com>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.14, delays=0.01/0.01/0/0.11, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as AE8ECD63CDA)
Mar 25 08:44:31 machine.mydomain1.com postfix/smtp[9661]: AE8ECD63CDA: to=<mygmail@gmail.com>, relay=gmail-smtp-in.l.google.com[173.194.195.26]:25, delay=0.52, delays=0/0.01/0.34/0.16, dsn=5.7.1, status=bounced (host gmail-smtp-in.l.google.com[173.194.195.26] said: 550-5.7.1 [206.248.184.17      11] Our system has detected that this message is 550-5.7.1 not RFC 5322 compliant: 550-5.7.1 'From' header is missing. 550-5.7.1 To reduce the amount of spam sent to Gmail, this message has been 550-5.7.1 blocked. Please visit 550-5.7.1  https://support.google.com/mail/?p=RfcMessageNonCompliant 550 5.7.1 and review RFC 5322 specifications for more information. a2si7453997iog.10 - gsmtp (in reply to end of DATA command))
Mar 25 08:56:42 machine.mydomain1.com postfix/smtpd[9764]: NOQUEUE: reject: RCPT from unknown[192.168.1.4]: 554 5.7.1 <mygmail@gmail.com>: Relay access denied; from=<alpha@mydomain3.ca> to=<mygmail@gmail.com> proto=ESMTP helo=<mydomain3.ca>
  

Я могу правильно использовать mail gem в другом окне, в котором есть FQDN просто отлично. Кажется, я просто не могу заставить это работать на моей рабочей станции. Как указано в журнале почтового сервера:

 'From' header is missing. 550-5.7.1 To reduce the amount of spam sent to Gmail, this message has been 550-5.7.1 blocked.
  

Я предполагаю, что это имя компьютера от, а не отправителя электронной почты от. Как я могу сообщить почтовому серверу, что это не так localhost ? Я возился с relay и другим directives в postfix безрезультатно. Итак, я пытаюсь изменить Ruby синтаксис, чтобы сервер меня распознал.

Приветствуется любая информация о том, как я могу заставить это работать. Это мой блок разработки, и он работает на моем производственном сервере, но я бы хотел, чтобы он работал на моем блоке разработки.

Ответ №1:

Добавление следующего исправило это, config элемент для драгоценного камня:

 mail.header['From'] = 'machine.mydomain.com'
  

Также убедитесь, что relay информация в postfix установлена правильно.