16

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

echo "Body of email" | mail -s "Subject" abc@def.com

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

Изменить: Итак, если я получаю сообщение об ошибке "Почта на удаленные домены не поддерживается", означает ли это, что мой провайдер заблокировал отправку электронной почты? Есть ли способ обойти это? Благодарю.

4 ответа4

12

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

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

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

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

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

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

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

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

4

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

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

Изменить: включение почты для отправки писем, например, из 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 smtp-auth-user=name@gmail.com
set smtp-auth-password=pass
set from=name@gmail.com
}

В этом случае электронное письмо будет отправлено с «name@gmail.com».

4

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

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .