Не удается отправить электронное письмо из терминала Ubuntu 24.04

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

Я хочу отправить простое письмо с моего терминала Ubuntu на свой аккаунт GMail (в случае, если mdadm не сработает или скрипт на Python вызовет фатическое исключение). На этом компьютере у меня установлен и работает Thunderbird. Я установил mailutils. Мой файл ~/.msmtprc выглядит следующим образом:

logfile ~/msmtp.log
account gmail
auth    login
host    smtp.gmail.com
from    [email protected]
tls     off
user    [email protected]
password    ********
port    587
account default : gmail

Когда я выполняю mail -s "Тема моего письма" "[email protected]" из терминала, я нажимаю Enter на подсказке Cc:, ввожу текст для тела письма, затем нажимаю Ctrl-D, я получаю следующие ошибки:

msmtp: no recipients found
Отправка данных в /usr/bin/msmtp завершилась неудачно: Процесс завершился с ненулевым статусом
не могу отправить сообщение: Процесс завершился с ненулевым статусом

Если я использую msmtp "[email protected]" в терминале (похоже, что он не позволяет мне ввести тему), ввожу текст тела, нажимаю Ctrl-D, я получаю ошибку: msmtp: /data/stuart/.msmtprc: line 13: account default was already defined. Если я удаляю запись Account default из ~/.msmtprc, я получаю ошибку msmtp: account default from /data/stuart/.msmtprc: host not set.

Я считаю, что отправка писем на адрес Gmail слегка сложнее, но не уверен, что мне нужно делать с этим. Я видел много разных версий файла ~/.msmtprc, но не знаю, какая из них правильная.

Может кто-то сказать мне, что я делаю неправильно, пожалуйста?

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

Вопрос: Не получается отправить электронное письмо из терминала Ubuntu 24.04

Введение

Отправка электронных писем из терминала Ubuntu может показаться сложной задачей, особенно при конфигурации почтового клиента, такого как msmtp, для работы с Gmail. Несмотря на наличие Thunderbird и установленного пакета mailutils, возникли проблемы с отправкой сообщений. Давайте разберемся в ситуации и предложим правильные шаги по настройке вашего окружения.

Анализ проблемы

1. Ошибка «no recipients found»

Ошибка «msmtp: no recipients found» указывает на то, что получатель не был правильно указан. При использовании команды mail необходимо убедиться, что все параметры передаются корректно. Ваша команда должна выглядеть следующим образом:

echo "Текст сообщения" | mail -s "Моя Тема" [email protected]

Обратите внимание, что текст сообщения передается через echo перед отправкой команды. Операция Ctrl-D должна завершить ввод текста, и это не повлияет на наличие получателя.

2. Ошибка «account default was already defined»

Ваша конфигурация в файле ~/.msmtprc содержит лишнюю запись с названием аккаунта. Следует упростить конфигурацию, избегая дублирования. Вот корректный формат:

logfile ~/msmtp.log
account gmail
auth login
host smtp.gmail.com
from [email protected]
tls on
user [email protected]
password ********
port 587

Убедитесь, что параметр tls установлен в on, так как Google требует использования защищенного соединения для SMTP.

3. Ошибка «host not set»

Если вы удалите строку account default : gmail, и возникнет ошибка «host не установлен», это может означать, что вы не указали правильный аккаунт по умолчанию. Если вы хотите оставить возможность использования нескольких аккаунтов, вы должны добавить следующее:

account default : gmail

Это необходимо для указания msmtp, какой аккаунт использовать по умолчанию.

Настройка Gmail

Gmail требует дополнительной конфигурации:

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

Проверка конфигурации

После всех изменений проверьте файл конфигурации:

cat ~/.msmtprc

Затем выполните команды для отправки:

echo "Тестовое сообщение" | msmtp [email protected]

Заключение

Если вы выполните вышеперечисленные шаги и убедитесь, что ваша конфигурация msmtp является правильной, вы должны без проблем отправить електронные письма из терминала Ubuntu на ваш адрес Gmail. Если возникнут дальнейшие затруднения, проверьте логи в ~/msmtp.log для получения дополнительных подсказок об ошибках. Успехов!

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

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