Как на самом деле отправляется почта при использовании команды Linux «mail»?

Как на самом деле отправляется почта при использовании команды Linux «mail»?

Какая учетная запись электронной почты используется для отправки электронного письма при использовании mailкоманды из терминала Linux, например:

echo "Body of email" | mail -s "Subject" [email protected]

Если письма не отправляются, нужно ли указывать имя пользователя и пароль адреса отправителя? Во всех mailпрочитанных мной руководствах ничего не указано об адресе отправителя.

Редактировать: Так если я получаю сообщение об ошибке "Отправка на удаленные домены не поддерживается", означает ли это, что мой интернет-провайдер заблокировал отправку писем? Есть ли способ обойти это? Спасибо.

решение1

Какая учетная запись электронной почты используется для отправки электронного письма при использовании команды mail из терминала Linux, как в:

В конфигурациях по умолчанию это та же учетная запись, которую вы использовали для входа. На вашем компьютере установлена ​​программа почтового сервера (MTA); обычно это Postfix или Exim4, иногда Sendmail или qmail.

Адрес электронной почты этого аккаунта или , где FQDN можно получить из . Однако сейчас вы не можете получать почтуyour-login@hostnameyour-login@fqdnhostname -fкэту учетную запись, поскольку MTA настроен на «только локальную почту» (как указано в сообщении об ошибке ниже) и не будет принимать сообщения извне.

Редактировать: Так если я получаю сообщение об ошибке "Отправка на удаленные домены не поддерживается", означает ли это, что мой интернет-провайдер заблокировал отправку писем? Есть ли способ обойти это?

Нет; это сообщение об ошибке возвращается вашим собственным компьютером. Почтовый сервер настроен только на передачуместныйпочта – от одного пользователя к другому (чаще всего отхрондемон, если cronjob не срабатывает). Обычно эти сообщения отправляются и могут быть прочитаны с помощью , , , или подобных программ. (IIRC, Thunderbird также мог импортировать локальные почтовые спулы.)/var/mail/loginmailmuttre-alpine

Несложно перенастроить почтовый сервер для отправки и получения почты с других сайтов; в зависимости от установленного MTA и дистрибутива Linux может быть достаточно даже одной команды: например, dpkg-reconfigure postfixесли система Debian с Postfix.

Однако, я предполагаю, что вы используете это на персональном компьютере, поэтому лучше использовать внешнюю учетную запись электронной почты – например, ваш адрес Gmail, если он у вас есть. Выясните, какой MTA установлен (в Ubuntu/Debian, dpkg -S /usr/sbin/sendmailя вам скажу), затем погуглите " program-name relay gmail" для руководства.

В качестве альтернативы можно установить MTA, специально разработанный для ретрансляции; msmtpэто esmtpхороший выбор, который легко настраивать.

решение2

Команда mail отправляет письма под текущей учетной записью, т. е. username@domain; однако обычно интернет-провайдеры не позволяют пользователям запускать собственные почтовые серверы (блокируя соответствующие порты) во избежание спама, и поэтому ваше письмо не отправляется.

Однако проблема с отправкой может быть связана и с конфигурацией вашего устройства.

Редактировать: включение почты для отправки писем с eg gmail. Поместите следующую информацию в ваш файл ~/.mailrc, который обеспечивает базовую конфигурацию для почты. Однако убедитесь, что этот файл доступен только вам (используя chmod 600 ~/.mailrc)

account gmail {
set smtp-use-starttls
set ssl-verify=ignore
set smtp=smtp.gmail.com:587
#set smtp-auth=login
set [email protected]
set smtp-auth-password=pass
set [email protected]
}

В этом случае электронное письмо будет приходить от "[email protected]".

решение3

Это имя учетной записи и имя хоста отправляющего пользователя, например root@myserver. Это не обязательно фактический почтовый ящик, который может получать электронную почту извне.

решение4

Реферировать этоКак отправить электронное письмо из командной строки Linuxдля получения дополнительной информации

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