Отправка электронной почты с сервера на Gmail не работает.

Вопрос или проблема

Я запускал этот код в bash, чтобы отправить email с сервера Ubuntu

#!/bin/bash  

# Переменные  
recipient="[email protected]"  
subject="Тема письма"  
body="Это тело письма."  

# Попытка отправить email  
if echo "$body" | mail -s "$subject" "$recipient"; then  
  echo "Email успешно отправлен на $recipient."  
else  
  echo "Не удалось отправить email на $recipient. Пожалуйста, проверьте конфигурацию почты."  
fi

Мне удалось отправить email на Proton Mail, хотя Proton получил email в папке спам, но с Gmail это не работает

при использовании tail -f /var/log/mail.log для отслеживания логов я получаю следующий ответ

Dec 29 15:06:04 xxx postfix/pickup[443359]: 1FA128B02B: uid=1000 from=<azureuser@xxx.msh1giz1qitexf4gtqk2kxjeud.phxx.internal.cloudapp.net>
Dec 29 15:06:04 xxx postfix/cleanup[443922]: 1FA128B02B: message-id=<20241229150604.1FA128B02B@xxx.msh1giz1qitexf4gtqk2kxjeud.phxx.internal.cloudapp.net>
Dec 29 15:06:04 xxx postfix/qmgr[443360]: 1FA128B02B: from=<azureuser@xxx.msh1giz1qitexf4gtqk2kxjeud.phxx.internal.cloudapp.net>, size=526, nrcpt=1 (queue active)
Dec 29 15:06:05 xxx postfix/smtp[443924]: 1FA128B02B: to=<[email protected]>, relay=gmail-smtp-in.l.google.com[142.251.2.27]:25, delay=0.89, delays=0.02/0.01/0.46/0.39, dsn=5.7.26, status=bounced (host gmail-smtp-in.l.google.com[142.251.2.27] said: 550-5.7.26 Ваш email был заблокирован, так как отправитель не аутентифицирован. 550-5.7.26 Gmail требует, чтобы все отправители аутентифицировались с помощью SPF или DKIM. 550-5.7.26  550-5.7.26  Результаты аутентификации: 550-5.7.26  DKIM = проверка не пройдена 550-5.7.26  SPF [openvpn.msh1giz1qitexf4gtqk2kxjeud.phxx.internal.cloudapp.net] 550-5.7.26 с ip: [20.163.28.40] = проверка не пройдена 550-5.7.26  550-5.7.26  Для инструкций по настройке аутентификации, перейдите по ссылке 550 5.7.26  https://support.google.com/mail/answer/81126#authentication d2e1a72fcca58-72aad83ae40si25723079b3a.1 - gsmtp (в ответ на окончание команды DATA))
Dec 29 15:06:05 xxx postfix/cleanup[443922]: 234AB8B02C: message-id=<20241229150605.234AB8B02C@openvpn.msh1giz1qitexf4gtqk2kxjeud.phxx.internal.cloudapp.net>
Dec 29 15:06:05 xxx postfix/bounce[443925]: 1FA128B02B: уведомление о недоставке отправлено: 234AB8B02C
Dec 29 15:06:05 xxx postfix/qmgr[443360]: 234AB8B02C: from=<>, size=4316, nrcpt=1 (queue active)
Dec 29 15:06:05 xxx postfix/qmgr[443360]: 1FA128B02B: удалён
Dec 29 15:06:05 xxx postfix/local[443928]: 234AB8B02C: to=<azureuser@xxx.msh1giz1qitexf4gtqk2kxjeud.phxx.internal.cloudapp.net>, relay=local, delay=0.03, delays=0.01/0/0/0.02, dsn=2.0.0, status=sent (доставлено в почтовый ящик)
Dec 29 15:06:05 openvpn postfix/qmgr[443360]: 234AB8B02C: удалён

необходимо ли настраивать SPF или DKIM?

Ответ или решение

Чтобы решить проблему с отправкой писем с вашего сервера на Gmail, необходимо обратить внимание на ряд важных технических аспектов, связанных с аутентификацией отправителя. Эта проблема часто возникает из-за отсутствия надлежащей настройки SPF (Sender Policy Framework) и DKIM (DomainKeys Identified Mail), которые относятся к методам аутентификации электронной почты.

1. Разбор ошибки

Ваши лог-файлы (/var/log/mail.log) указывают на конкретную ошибку аутентификации, предоставленную Google:

  • DSN=5.7.26, status=bounced: Это код статуса, который указывает на проблему с аутентификацией отправителя.
  • 550-5.7.26 Gmail требует аутентификации всех отправителей с помощью SPF или DKIM.

2. Рекомендации по настройке

Настройка SPF

SPF помогает получать серверам подтвердить, что ваши домены разрешены для отправки электронной почты от имени вашего сервера. Чтобы настроить SPF:

  • В DNS-записях вашего домена добавьте TXT-запись. Например:
    v=spf1 ip4:YOUR_SERVER_IP -all

    Замените YOUR_SERVER_IP на фактический IP-адрес вашего сервера. Эта запись сообщает, что только указанный IP-адрес может отправлять электронные письма от имени вашего домена.

Настройка DKIM

DKIM позволяет получателю проверить, что email сообщение действительно было отправлено с разрешенного источника и не было изменено в пути:

  1. Установите и настройте OpenDKIM на вашем сервере.

  2. Добавьте следующий DNS TXT-запись для вашего домена:

    default._domainkey.YOURDOMAIN.com  IN TXT  ( "v=DKIM1; k=rsa; p=YOUR_PUBLIC_KEY" )

    Замените YOUR_PUBLIC_KEY на фактический публичный ключ, сгенерированный DKIM.

Тестирование

После настройки SPF и DKIM важно протестировать их работу, используя инструменты для проверки конфигурации электронной почты, такие как Mail-Tester или dmarcian.

3. Заключение

Настройка SPF и DKIM не только позволяет корректную отправку писем на Gmail, но и увеличивает доверие ко всем Вашим сообщениям, уменьшая риск попадания во входящие папки спама. Эти меры также помогут обеспечить защиту вашего домена от фишинга и других вредоносных атак.

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

Оцените материал
Добавить комментарий

Капча загружается...