
Какая учетная запись электронной почты используется для отправки электронного письма при использовании mail
команды из терминала Linux, например:
echo "Body of email" | mail -s "Subject" [email protected]
Если письма не отправляются, нужно ли указывать имя пользователя и пароль адреса отправителя? Во всех mail
прочитанных мной руководствах ничего не указано об адресе отправителя.
Редактировать: Так если я получаю сообщение об ошибке "Отправка на удаленные домены не поддерживается", означает ли это, что мой интернет-провайдер заблокировал отправку писем? Есть ли способ обойти это? Спасибо.
решение1
Какая учетная запись электронной почты используется для отправки электронного письма при использовании команды mail из терминала Linux, как в:
В конфигурациях по умолчанию это та же учетная запись, которую вы использовали для входа. На вашем компьютере установлена программа почтового сервера (MTA); обычно это Postfix или Exim4, иногда Sendmail или qmail.
Адрес электронной почты этого аккаунта или , где FQDN можно получить из . Однако сейчас вы не можете получать почтуyour-login@hostname
your-login@fqdn
hostname -f
кэту учетную запись, поскольку MTA настроен на «только локальную почту» (как указано в сообщении об ошибке ниже) и не будет принимать сообщения извне.
Редактировать: Так если я получаю сообщение об ошибке "Отправка на удаленные домены не поддерживается", означает ли это, что мой интернет-провайдер заблокировал отправку писем? Есть ли способ обойти это?
Нет; это сообщение об ошибке возвращается вашим собственным компьютером. Почтовый сервер настроен только на передачуместныйпочта – от одного пользователя к другому (чаще всего отхрондемон, если cronjob не срабатывает). Обычно эти сообщения отправляются и могут быть прочитаны с помощью , , , или подобных программ. (IIRC, Thunderbird также мог импортировать локальные почтовые спулы.)/var/mail/login
mail
mutt
re-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для получения дополнительной информации