То, что я должен сделать, это отправлять электронные письма из Ubuntu. Самый простой способ, который я нашел, - это использовать Thunderbird и связать мой реальный адрес электронной почты (abc@hotmail.com) с учетной записью Thunderbird. Я могу успешно получать электронные письма и загружать полную историю таким образом. Однако я не могу отправлять электронные письма.
Что я хочу сделать, так это отправлять электронные письма прямо из Ubuntu и отображаться как user1 @ localhost или что-то подобное.
Это вообще возможно? После прочтения разных тем об этом кажется, что использование адреса ретрансляции - единственный способ.
Я также установил Postfix, так же, как там написано: Как настроить почтовый сервер? Когда меня попросили выбрать тип установки, я выбрал Интернет-сайт.
Опции у меня были:
Когда меня спросили о системном почтовом имени, я вошел на свой веб-сайт: some_website.com. Я до сих пор не выяснил, как отправлять электронные письма через постфикс, но я предполагаю, что снова будет использоваться релейный сервер.
Я использую Ubuntu 11.10 в качестве виртуальной машины.
Я надеюсь, что этот вопрос имеет смысл.
Я протестировал это на бродячем поле и работающий отлично. Установленный после вещей путем выполнения команды
склонный - получают php-грушу установки
грушевая почта установки
грушевая установка Net_SMTP
грушевая установка Auth_SASL
грушевая установка mail_mime
Затем установите постфикс путем выполнения после команды
склонный - получают постфикс установки
Сайт и localhost вместо сервера, потому что мы пробующий это на localhost
После этого выполнения следующая команда
энергия sudo/etc/ssmtp/ssmtp.conf
вносить изменения в файлы
FromLineOverride=YES
AuthUser=youremail@gmail.com
AuthPass=yourpasss
самый важный делают Вашу электронную почту доступной для меньшего количества защищенных приложений
https://www.google.com/settings/security/lesssecureapps
и затем можно использовать php почтовую функцию или Ввести следующую команду в терминал для отправки почты от самого терминала
$ ssmtp youremail@gmail.com
Из :youremail@gmail.com
НА :sendto@email.com
Тема: Предмет
Привет это - моя первая ssmtp электронная почта!.
нажмите Ctrl+D, и ssmtp пошлет Ваше электронное письмо
ping smtp.gmail.com
- вывод от этой команды - что-то как
64 байта из sc-in-f108.1e100.net (74.125.68.108): icmp_seq=1 ttl=63 time=68.4 мс
telnet smtp.gmail.com 587
- вывод должен быть чем-то вроде этого
Попытка 74.125.68.108...
Подключенный к gmail-smtp-msa.l.google.com.
220 smtp.gmail.com ESMTP l14sm12513264pfb.73 - gsmtp
Если вы используете Thunderbird, вы можете настроить удаленный сервер для SMTP. Если у вас нет собственного почтового сервера, обычно это сервер ретрансляции вашего провайдера или SMTP-сервер почтовых провайдеров. Я успешно использовал Gmail в качестве SMTP-сервера, но он требует аутентификации. (Некоторые другие хосты могут также.)
Проверить доступ к серверу с помощью команды telnet mail.example.com 25
. Если он работает, вы получите баннерное сообщение с сервера.
После того, как Thunderbird работает с сервером, вы можете настроить Exim или Postfix как сателлитный сервер для того же сервера. Вы можете пропустить это, если вам не нужно отправлять электронную почту из системы из других приложений. Будьте внимательны, чтобы исходный адрес на исходящем сервере мог принимать электронную почту.
РЕДАКТИРОВАТЬ: убедитесь, что у вас не активирован iptables и не блокируется исходящий трафик. Если вы это сделаете, включите исходящий трафик на нужный порт. Вы можете использовать команду типа tcptraceroute mail.example.com 25
, чтобы увидеть, где вас блокируют. tcptraceroute
необходимо будет установить перед использованием.
Это не имеет смысла, потому что вы сказали «должен делать», как будто это ваша работа. Вы настраиваете реальный почтовый сервер на виртуальной машине? Я полагаю, что это означает, что виртуальный сервер должен иметь почтовую систему, но виртуальный сервер не является «настоящим» SMTP-сервером, работающим полный рабочий день. (В противном случае вы уже знаете, я думаю, дико.)
Имея это в виду, вам понадобится опция «Интернет со смартхостом». По сути, главная причина в том, что хорошо настроенные SMTP-серверы по всему миру используют меры против спама; и среди этих мер - отклонение всех SMTP-соединений, которые приходят от известных пулов динамических адресов (которые спаммеры любят использовать). Поэтому вам нужно использовать другой SMTP-сервер для исходящей почты.
Если вы хотите использовать Postfix для этого, это легко сделать: просто найдите статьи об Ubuntu, относящиеся к настройке Postfix в качестве smarthost. Однако, если у вас нет особой привязанности к одной системе над другой, существует пакет, разработанный именно для этого: ssmtp
. Итак, если вы хотите, чтобы это было сделано, просто установите ssmtp.
( Внимание: приведенное ниже действие удалит постфикс или sendmail. )
sudo apt-get install ssmtp
Затем отредактируйте файл конфигурации ssmtp:
sudo -e /etc/ssmtp/ssmtp.conf
Я не Я знаю подробности о SMTP-сервере, доступном вам, поэтому я приведу пример GMail:
Root=your_email@gmail.com
Mailhub=smtp.gmail.com:465
RewriteDomain=gmail.com
AuthUser=your_gmail_username # me@gmail.com
AuthPass=your_gmail_password
FromLineOverride=Yes
UseTLS=Yes
Теперь ваша система будет отправлять почту так, как вы хотите. Вы можете использовать localhost в качестве почтового сервера в приложениях с графическим интерфейсом для исходящего SMTP-сервера. Но как насчет CLI? Используйте программное обеспечение mail
:
sudo apt-get install heirloom-mailx
Теперь вы также можете использовать почту из командной строки с чем-то вроде:
mail < filename.ascii someone@somewhere.com -s "My File"
Или, если вы используете mail
для составления введите сообщение (mail someone@somewhere.com
), а затем завершите почтовое сообщение одним интервалом в пустой строке. Лучшим почтовым клиентом CLI является mutt
или pine
.
Вам нужен этот угол? Если да, был ли он успешным?