curlコマンドでgmail送信

パペロからでも普通のlinux同様curlコマンドでメール送信できます。gmailに送る例です。

(1) まずパペロからインターネットに接続出来る事を確認します。

# ping smtp.gmail.com

(2) メール本体をmail.txtに書きます。

# cat <<EOF > mail.txt
To: destuser@desthost.com
From: myuser@gmail.com
Subject: send mail by curl command

hello world!
EOF

(3) curlで送信します。パスワードを聞かれるので入力します。

# curl -k -v --url 'smtps://smtp.gmail.com:465' --mail-rcpt 'destuser@desthost.com' --mail-from 'myuser@gmail.com' -u myuser -T mail.txt
Enter host password for user 'myuser':

(4) gmailの場合、最初ブロックされますが、安全性の低いアプリの許可: 有効 とすることで送信出来る様になります。

(5) opkgでemptyをインストールすればシェルスクリプトでもメール送信出来ます。

#!/bin/sh
export PATH=/Extension/pkgroot/usr/sbin:$PATH
empty -f -i in -o out \
  curl -k -v --url 'smtps://smtp.gmail.com:465' --mail-rcpt 'destuser@desthost.com' \
    --mail-from 'myuser@gmail.com' -u myuser -T mail.txt > /dev/null 2>&1 &
sleep 2
empty -w -i out -o in "nter host password for user 'myuser':"
empty -s -o in "mypassword\n"

0