Как отправить почту из командной строки?
Как отправить почту из командной строки?
Ответы:
Попробуйте установить почтовый клиент Mutt . Другой вариант - использовать emacs с gnus . Также доступны другие варианты ... ИМХО, вы должны использовать более подробную информацию в своих вопросах, или вы получите несколько разных ответов на ваш вопрос :-)
Установите ssmtp :
sudo apt-get install ssmtp
Отредактируйте файл конфигурации ssmtp:
gksu gedit /etc/ssmtp/ssmtp.conf
Добавьте следующий текст:
root=username@gmail.com
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=password
FromLineOverride=YES
UseTLS=YES
Запустите ssmtp и укажите адрес электронной почты получателя:
ssmtp recepient_name@gmail.com
Укажите данные сообщения следующим образом:
To: recipient_name@gmail.com
From: username@gmail.com
Subject: Sent from a terminal!
Your content goes here. Lorem ipsum dolor sit amet, consectetur adipisicing.
(Notice the blank space between the subject and the body.)
Нажмите Ctrl+, Dчтобы отправить.
Вы также можете поместить текст в файл и отправить его следующим образом:
ssmtp recipient_name@gmail.com < filename.txt
В большинстве случаев вам не нужно настраивать SMTP-сервер, который вы можете просто использовать mail
из командной строки (если его еще нет, установите с помощью sudo apt-get install mailutils
). (Или если вы находитесь на сервере, где настроен sendmail и т. Д.)
marco@dagobah:~$ mail -v marco.ceppi.use@gmail.com
Subject: Hello World!
This is an email to myself.
Hope all is well.
.
Cc:
Вы заканчиваете сообщения с одним .
на линии. Именно тогда mail
вам будет предложено Cc:
ввести информацию (или оставить пустым), а mail
затем распечатает дополнительную информацию о том, что он пытается сделать, а также подробную информацию об обработке подключения, передачи и получения данных с почтового сервера.
sudo apt-get install mailutils
установит SMTP-сервер postfix
, который может быть немного переоценен для некоторых людей.
apt-get install libio-socket-ssl-perl libnet-ssleay-perl sendemail
использование:
sendemail -f fromuser@gmail.com -t touser@domain.com -u subject -m "message" -s smtp.gmail.com:587 -o tls=yes -xu gmailaccount@gmail.com -xp gmailpassword
Если вы не хотите указывать свой пароль в командной строке (как правило, это не очень хорошая вещь), вы можете опустить этот параметр, и sendemail запросит у вас пароль ... и отобразит его на экране, но по крайней мере это не будет в вашей истории командной строки.
sendmail
наибольшей уверенностью очень удобна. Спасибо.
-s smtp.gmail.com:587
.
pass=$(cat my_password); sendemail... -xp $name ...
и, конечно , если вы вызываете его программно вы можете сделать что - то подобное, пример: рубин system("sendemail ... -xp #{File.read 'my_password'}...")
также может провалить В первый раз вы должны получить электронное письмо с этой учетной записью, предлагающее вам «включить менее безопасные приложения», чтобы оно могло работать.
Вам нужен MTA для отправки почты. Для этого используйте постфикс:
sudo apt-get install postfix
Чтобы отправить электронное письмо:
echo "test message" | mailx -s 'test subject' myemail@mydomain.com
mailutils
когда я ввел это в терминал
mail -s "subjet" -a "attchedfile_name" someone@dest_email.com
или же
cat "afile" | mail -s "subject" someone@dest_email.com
sudo apt-get install mailutils
в Ubuntu / Debian или yum install mailx
в CentOS / Redhat
Все объясняется здесь .
hanoo@hp_laptop% nc 127.0.0.1 25
220 hp_laptop.localdomain ESMTP Postfix
EHLO man
250 hp_laptop.localdomain
MAIL FROM: <netcat@postfix.com>
250 2.1.0 Ok
RCPT TO: <target@host.com>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
This is the body of my mail,
this is the second line...
.
250 2.0.0 Ok: queued as 9C12E7F404
swaks
и вы тоже хорошо с SSL / TLS ;-)
openssl s_client -starttls smtp ...
Если вы пытаетесь отправить электронную почту из системы, которая не запускает собственный почтовый сервер (например, настольную систему), вам необходимо установить что-то вроде nullmailer или esmtp , которые пересылают вашу локальную почту на «настоящую» почту сервер.
В качестве инструментов командной строки вы можете установить mail или mailx (пакеты mailutils, heirloom-mailx или bsd-mailx). Если вам нужны вложения, попробуйте biabam.
Я никогда не пробовал, но есть mail
команда, которая может отправлять почту. Смотри мужскую почту .
Чтобы проверить местную электронную почту:
echo message | mail username@localhost
sudo apt-get install sharutils mailutils
uuencode filename filename | mail user@example.com
где filename
то же самое: оно обозначает входной файл и удаленный файл.
sudo apt-get install sharutils
дляuuencode
Вы можете попробовать это:
mail name@mailserver.com -s "Attached file" <<EOF
Hi
~| uuencode $HOME/filename.txt filename.txt
EOF
Он работает с GNU Mailutils , проверьте веб-сайт для получения дополнительной информации.
Выполнить :
sudo apt-get install ssmtp
sudo -H gedit /etc/ssmtp/ssmtp.conf
Необходимо добавить следующее:
# The user that gets all the mails (UID < 1000, usually the admin)
root=yourusernameofgmail@gmail.com
# The mail server (where the mail is sent to), both port 465 or 587 should be acceptable
# See also https://support.google.com/mail/answer/78799
mailhub=smtp.gmail.com:587
# The address where the mail appears to come from for user authentication.
rewriteDomain=gmail.com
# Use SSL/TLS before starting negotiation
UseTLS=Yes
UseSTARTTLS=Yes
# Username/Password
AuthUser=yourusernameofgmail
AuthPass=yourGmailPassowrd
AuthMethod=LOGIN
# Email 'From header's can override the default domain?
FromLineOverride=yes
Выполнить :
sudo -H gedit /etc/ssmtp/revaliases
Введите там:
root:yourusernameofgmail@gmail.com:smtp.gmail.com:587
Включите "менее безопасные приложения" в Gmail:
https://support.google.com/accounts/answer/6010255?hl=ru.
Проверьте это, запустив на терминале следующее:
echo "Body of mail is abc" | mail -s "Subject is xyz" "someusername@gmail.com"`
В дополнение к вышеупомянутому я все еще получал эту ошибку
echo "Test message from Linux server using ssmtp" | sudo ssmtp -vvv somebody@mil.gov
[<-] 220 smtp.gmail.com ESMTP v193sm19198825qka.18 - gsmtp
[->] EHLO localhost
[<-] 250 SMTPUTF8
[->] STARTTLS
[<-] 220 2.0.0 Ready to start TLS
[->] EHLO localhost
[<-] 250 SMTPUTF8
[->] AUTH LOGIN
[<-] 334 VXNlcm5hbWU6
[->] aG94Z2VuZUBrrrFpbC5jb20=
[<-] 334 UGFzweliecmQ6
[<-] 534 5.7.14 https://support.google.com/mail/answer/78754 v193sm19198825qka.18 - gsmtp
ssmtp: Authorization failed (534 5.7.14 https://support.google.com/mail/answer/78754 v193sm19198825qka.18 - gsmtp)
РЕШЕНИЕ: сделать сброс пароля Gmail, даже если текущий пароль правильный ... возможно, меры предосторожности Google