Как отправить почту из командной строки?

Как отправить почту из командной строки?

192 голоса | спросил Olivier Lalonde 12 52010vEurope/Moscow11bEurope/MoscowFri, 12 Nov 2010 23:27:59 +0300 2010, 23:27:59

15 ответов


32

Попробуйте установить Mutt E-mail Client . Другой вариант - использование emacs с gnus . Другие варианты доступны также ... IMHO, вы должны использовать более подробную информацию в своих вопросах или несколько разных ответов на свой вопрос, который вы получите: -)

ответил crncosta 12 52010vEurope/Moscow11bEurope/MoscowFri, 12 Nov 2010 23:46:07 +0300 2010, 23:46:07
143
  1. Установите ssmtp  Установить ssmtp :

    sudo apt-get install ssmtp
    
  2. Отредактируйте конфигурационный файл ssmtp:

    gksu gedit /etc/ssmtp/ssmtp.conf
    
  3. Добавьте следующий текст:

    [email protected]
    mailhub=smtp.gmail.com:465
    rewriteDomain=gmail.com
    AuthUser=username
    AuthPass=password
    FromLineOverride=YES
    UseTLS=YES
    
  4. Запустите ssmtp и укажите адрес электронной почты получателя:

    ssmtp [email protected]
    
  5. Укажите данные сообщения следующим образом:

    To: [email protected]
    From: [email protected]
    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.)
    
  6. Нажмите Ctrl + D для отправки.


Вы также можете поместить текст в файл и отправить его следующим образом:

ssmtp [email protected] < filename.txt
ответил Sid 13 62010vEurope/Moscow11bEurope/MoscowSat, 13 Nov 2010 00:32:10 +0300 2010, 00:32:10
82

В большинстве случаев вам не нужно настраивать SMTP-сервер, вы можете просто использовать mail из командной строки (если его еще нет, установите с помощью sudo apt-get install mailutils). (Или, если вы находитесь на сервере, на котором настроен sendmail и т. Д.)

[email protected]:~$ mail -v [email protected]
Subject: Hello World!
This is an email to myself.

Hope all is well.
.
Cc: 

Вы завершаете сообщения с помощью одного . в строке. Вот когда mail предложит вам ввести Cc:, введите информацию (или оставьте пустым) и mail, затем распечатайте дополнительную информацию о том, что это такое попытке сделать, а также подробное описание обработки соединений, передачи и приема данных с почтового сервера.

ответил Marco Ceppi 13 62010vEurope/Moscow11bEurope/MoscowSat, 13 Nov 2010 01:52:32 +0300 2010, 01:52:32
44
apt-get install libio-socket-ssl-perl libnet-ssleay-perl sendemail

использование:

sendemail -f [email protected] -t [email protected] -u subject -m "message" -s smtp.gmail.com:587 -o tls=yes -xu [email protected] -xp gmailpassword 

Если вы не хотите указывать свой пароль в командной строке (как правило, это не очень хорошо), вы можете опустить этот параметр, и sendemail предложит вам пароль ... и отобразит его на экране, но, по крайней мере, это не будет в истории вашей командной строки.

ответил jet 14 72010vEurope/Moscow11bEurope/MoscowSun, 14 Nov 2010 04:48:47 +0300 2010, 04:48:47
21

mpack - отличный способ отправки файлов в командной строке.

apt-get install mpack

использование:

mpack -s "file you wanted" ./data.pdf [email protected]
ответил BozoJoe 13 62010vEurope/Moscow11bEurope/MoscowSat, 13 Nov 2010 01:47:48 +0300 2010, 01:47:48
16

Вам нужна MTA для отправки почты. Для этого используйте postfix:

sudo apt-get install postfix

Для отправки электронной почты:

echo "test message" | mailx -s 'test subject' [email protected]

ПОМОЩЬ

ответил One Zero 10 PM00000070000003431 2012, 19:57:34
14

Установите пакет sendmail, затем введите

sendmail -t [email protected] 

затем напишите свой адрес электронной почты затем нажмите Ctrl + D

ответил MhdSyrwan 3 J000000Tuesday12 2012, 21:14:16
8

Вы можете отправить электронное письмо из командной строки с помощью TelNet или NetCat .

Все объяснено здесь .

[email protected]_laptop% nc 127.0.0.1 25
220 hp_laptop.localdomain ESMTP Postfix
EHLO man
250 hp_laptop.localdomain
MAIL FROM: <[email protected]>
250 2.1.0 Ok
RCPT TO: <[email protected]>
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
ответил hanoo 30 +04002012-10-30T09:33:41+04:00312012bEurope/MoscowTue, 30 Oct 2012 09:33:41 +0400 2012, 09:33:41
8
mail -s "subjet" -a "attchedfile_name" [email protected]_email.com

или

cat "afile" | mail -s "subject" [email protected]_email.com
ответил user142345 21 MarpmThu, 21 Mar 2013 23:16:17 +04002013-03-21T23:16:17+04:0011 2013, 23:16:17
6

Если вы пытаетесь отправить электронную почту из системы, whitch не запускает собственный почтовый сервер (например, настольную систему), вам нужно установить что-то вроде nullmailer или esmtp , которые перенаправляют вашу локальную почту на« настоящий »почтовый сервер.

В качестве инструментов командной строки вы можете установить почту или mailx (пакеты mailutils, heirloom-mailx или bsd-mailx). Если вам нужны вложения, попробуйте biabam.

ответил ddeimeke 13 62010vEurope/Moscow11bEurope/MoscowSat, 13 Nov 2010 00:21:34 +0300 2010, 00:21:34
5

Я никогда не пробовал, но есть команда mail, которая может отправлять почту. См. человеческая почта .

Чтобы проверить местный адрес электронной почты:

echo message | mail [email protected]
ответил dv3500ea 12 52010vEurope/Moscow11bEurope/MoscowFri, 12 Nov 2010 23:30:05 +0300 2010, 23:30:05
5
sudo apt-get install sharutils mailutils
uuencode filename filename | mail [email protected]

, где filename одно и то же: он обозначает входной файл и удаленный файл.

ответил nisse 10 Jpm1000000pmTue, 10 Jan 2012 14:14:19 +040012 2012, 14:14:19
2

Вы можете попробовать следующее:

mail [email protected] -s "Attached file" <<EOF                 
Hi

~| uuencode $HOME/filename.txt filename.txt

EOF

Он работает с GNU Mailutils , проверьте сайт для получения дополнительной информации.

ответил Sharad 25 PMpWed, 25 Apr 2012 22:19:51 +040019Wednesday 2012, 22:19:51
0

В дополнение к выше я все еще получал эту ошибку

echo "Test message from Linux server using ssmtp" | sudo ssmtp -vvv  [email protected]
[<-] 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

ответил Scott Stensland 30 AM000000120000005031 2016, 00:58:50
0

Run

sudo apt-get install ssmtp
sudo -H gedit /etc/ssmtp/ssmtp.conf

Здесь необходимо добавить следующее:

# The user that gets all the mails (UID < 1000, usually the admin)
[email protected]

# 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

Run

sudo -H gedit /etc/ssmtp/revaliases

Введите:

root:[email protected]: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" "[email protected]"`
ответил Aquarius_Girl 27 J000000Thursday17 2017, 11:42:32

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132