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


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


193
2017-11-12 20:27


Источник


ubuntuforums.org/showthread.php?t=780509 может помочь вам. - User
Вы также можете использовать сосну. - Kaveh
Вы также можете установить msmtp и следовать инструкциям, описанным в ArchWiki - thiagowfx
Очень жаль, что ответы на это настолько устарели. Это важный вопрос, который может использовать хороший учебник - 6005


Ответы:


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


32
2017-11-12 20:46



Принял это, поскольку он не требует какой-либо конфигурации и достаточно удобен для пользователя. - Olivier Lalonde
Подождите. mutt - удобный для пользователя? самый сумасшедший один лайнер, который я прочитал сегодня :) - Stann


  1. устанавливать SSMTP  Install ssmtp:

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

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

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

    ssmtp recepient_name@gmail.com
    
  5. Предоставьте данные сообщения следующим образом:

    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.)
    
  6. Нажмите Ctrl + D отправлять.


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

ssmtp recipient_name@gmail.com < filename.txt

142
2017-11-12 21:32



Он чувствует себя странно, оставляя мой почтовый пароль открытым в некоторых файлах на компьютере. Это безопасно? - oadams
@oadams не очень безопасно. Используйте двухэтапную аутентификацию, чтобы снизить риск, или использовать почтовый шлюз, который не требует пароля, например, вашего интернет-провайдера. - itsadok
Не устанавливайте ssmtp на сервере с установленным постфикс. Postfix будет удален. Вместо этого просто используйте sendmail user@example.com <file.txt, который будет работать с postfix или ssmtp. - Alistair Buxton
Еще одна странная вещь, которую я хотел рассказать здесь, это не сработало для меня, когда у меня был длинный / сложный пароль, но работал, когда я изменил его на простой пароль, странный, но верный. Я также слышал то же от кого-то другого, но попробовал его после множества неудачных попыток отправить почту и, как только я упростил пароль, к моему удивлению, он просто сработал;) - Rajat Gupta
Если Gmail не позволяет вашему серверу получить доступ, войдите в Gmail на сервере с помощью браузера командной строки. askubuntu.com/questions/460022/using-terminal-as-a-web-browser - Sanghyun Lee


В большинстве случаев вам не нужно настраивать 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 затем распечатает дополнительную информацию о том, что он пытается сделать, а также детализирует обработку соединений, передачи и приема данных с почтового сервера.


84
2017-11-12 22:52



Я бы добавил ответ, чтобы включить «sudo apt-get install mailutils», поскольку он отсутствует в чистой установке Ubuntu 10.04. Кроме того, завершение сообщения с помощью. на одной строке не работает. Вместо этого мне пришлось «Ctrl-D». Наконец, сообщение не прошло! - Olivier Lalonde
@OlivierLalonde sudo apt-get install mailutils будет установлен SMTP-сервер, который postfix, которые могут быть немного перегружены для некоторых людей. - vaab
mailutils также установит mysql! - chmike
-v не в моей установке почты 2.99.98, также пришлось использовать Ctrl + D для завершения - markmnl
Пожалуйста, обновите этот вопрос, он устарел. - Blauhirn


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 предложит вам пароль ... и отобразит его на экране, но не менее это не будет в истории вашей командной строки.


44
2017-11-14 01:48



Отправка почты с учетной записи GMail с использованием sendmail наиболее определенно очень удобно. Спасибо. - Mark Tomlin
Найти патч Вот чтобы не повторять пароль. - Arun
Я должен был указать порт с -s smtp.gmail.com:587, - Joe Mornin
добавьте пробел перед командной строкой, чтобы не сохранить его в истории командной строки - pl-94
другой способ не отображать его на экране bash: сохранить пароль в файл, а затем из файла в переменную окружения, например: pass=$(cat my_password); sendemail... -xp $name ... и, конечно, если вы его программно называете, вы можете сделать что-то подобное, например: ruby system("sendemail ... -xp #{File.read 'my_password'}...") также он может не работать в первый раз, вы должны получить электронное письмо на эту учетную запись, предлагая вам «включить менее безопасные приложения», после чего он может работать. - rogerdpack


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

apt-get install mpack

Применение:

mpack -s "file you wanted" ./data.pdf loser@supergoober.cn

21
2017-11-12 22:47





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

sudo apt-get install postfix

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

echo "test message" | mailx -s 'test subject' myemail@mydomain.com

ПОМОГИТЕ


16
2017-08-10 15:57



Вам также нужно установить mailutils для mailx, не так ли? - Nick
Хотелось бы, чтобы это было действительно так просто, но если вы не кто-то особенный, это не сработает. 99.9999% интернет-провайдеров будут игнорировать почту с частных постфиксных серверов, потому что 9.99999 раз из 10 они спамеры. - Cerin
это не сработало для меня, оно попросило установить mailutils когда я ввел это в терминал - mostafiz rahman
Идем дальше и устанавливаем mailutils. Вам не нужен постфикс IIRC. - uav


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

sendmail -t receiver@example 

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


14
2017-07-03 17:14





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

Все объяснено Вот,

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

8
2017-10-30 05:33



При использовании этого метода немного сложно использовать SSL;) - iX3
@ iX3 просто используйте swaks и у вас все хорошо с SSL / TLS ;-) - Germar
Или openssl s_client -starttls smtp ... - Raman