web-dev-qa-db-ja.com

コマンドラインからメールを送信する方法は?

コマンドラインからメールを送信する方法は?

209
Olivier Lalonde

The Mutt E-mail Client をインストールしてみてください。他のオプションは gnus でemacsを使用しています。他のオプションも利用できます...私見、あなたはあなたの質問でより詳細を使用するか、あなたが受け取るあなたの質問に対するいくつかの異なる答えを使用する必要があります:-)

34
crncosta
  1. インストール ssmtpInstall 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
154
Sid

ほとんどの場合、SMTPサーバーを構成する必要はありませんが、コマンドラインからmailを使用できます(まだ存在しない場合は、Sudo apt-get install mailutilsでインストールします)。 (または、sendmailが構成されているサーバー上にいる場合など)

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

Hope all is well.
.
Cc: 

単一の.でメッセージを終了します。 mailCc:の入力を要求する(または空白のままにする)ときにmailが、実行しようとしていることに関する追加情報と、処理の詳細を出力しますメールサーバーからのデータの接続、送信、受信。

87
Marco Ceppi
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はパスワードを要求します...画面に表示しますが、少なくともコマンドライン履歴には含まれません。

47
jet

mpackは、添付ファイルを送信するための優れたコマンドライン方法です。

apt-get install mpack

使用法:

mpack -s "file you wanted" ./data.pdf [email protected]
23
BozoJoe

メールを送信するにはMTAが必要です。これには、後置を使用します。

Sudo apt-get install postfix

メールを送信するには:

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

HELP

19
One Zero

パッケージsendmailをインストールしてから入力します

sendmail -t receiver@example 

次に、メールを書いてからCtrl + Dを押します

15
MhdSyrwan
mail -s "subjet" -a "attchedfile_name" someone@dest_email.com

または

cat "afile" | mail -s "subject" someone@dest_email.com
10
user142345

コマンドラインからTelNetまたはNetCatでメールを送信できます。

すべてが説明されています here .

hanoo@hp_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
9
hanoo

システムから電子メールを送信しようとする場合、独自の電子メールサーバー(デスクトップシステム)を実行しないため、 nullmailer または esmtp 。ローカルメールを「実際の」メールサーバーに転送します。

コマンドラインツールとして、mailまたはmailx(パッケージmailutils、heirloom-mailxまたはbsd-mailx)をインストールできます。添付ファイルが必要な場合は、biabamを試してください。

7
ddeimeke
Sudo apt-get install sharutils mailutils
uuencode filename filename | mail [email protected]

filenameは同じです。入力ファイルとリモートファイルを表します。

6
nisse

試したことはありませんが、メールを送信できるmailコマンドがあります。 man mail を参照してください。

ローカルメールをテストするには:

echo message | mail username@localhost
6
dv3500ea

これを試すことができます:

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

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

EOF

GNU Mailutils で動作します。詳細については、Webサイトを確認してください。

3
Sharad

実行

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

実行

Sudo -H gedit /etc/ssmtp/revaliases

そこに入力してください:

root:[email protected]:smtp.gmail.com:587

Gmailで「安全性の低いアプリ」を有効にする:
https://support.google.com/accounts/answer/6010255?hl=en

端末で次を実行してテストします:

echo "Body of mail is abc" | mail -s "Subject is xyz" "[email protected]"`
2
Aquarius_Girl

上記に加えて、私はまだこのエラーを受け取っていました

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のセキュリティ対策

1
Scott Stensland