67

curlコマンドラインプログラムを使用してGmailアカウントからメールを送信するにはどうすればよいですか?

私は以下を試しました:

curl -n --ssl-reqd --mail-from "<sender@gmail.com>" --mail-rcpt "<receiver@server.tld>" --url smtps://smtp.gmail.com:465 -T file.txt

ただし、file.txtが電子メールの内容であるため、このコマンドを実行すると、次のエラーが発生します。

curl: (67) Access denied: 530

パーソナルサーバーでホストされているアカウントから、まだcurlを使用してメールを送信することはできますか?これにより、認証プロセスが簡単になりますか?

4

4 に答える 4

123
curl --ssl-reqd \
  --url 'smtps://smtp.gmail.com:465' \
  --user 'username@gmail.com:password' \
  --mail-from 'username@gmail.com' \
  --mail-rcpt 'john@example.com' \
  --upload-file mail.txt

mail.txtファイルの内容:

From: "User Name" <username@gmail.com>
To: "John Smith" <john@example.com>
Subject: This is a test

Hi John,
I’m sending this mail with curl thru my gmail account.
Bye!

追加情報:

  1. curlSSL をサポートするバージョン 7.21.6 を使用しています。

  2. --insecureこのスイッチを使用する必要はありません。これによりcurl、SSL 接続の検証が実行されなくなります。詳細については、このオンライン リソースを参照してください。

  3. コマンド ライン引数を使用してアカウント資格情報を渡すことは、セキュリティ上の不適切な慣行と見なされています。を使用し--netrc-fileます。ドキュメントを参照してください。

  4. 安全性の低いアプリまたは新しいアプリ パスワードのアクセスを有効にする必要があります。

于 2013-04-17T20:35:23.200 に答える
6

カーボン コピーまたはブラインド カーボン コピーとしてメールを送信する場合:

curl --url 'smtps://smtp.gmail.com:465' --ssl-reqd \
  --mail-from 'username@gmail.com' --mail-rcpt 'john@example.com' \
  --mail-rcpt 'mary@gmail.com' --mail-rcpt 'eli@example.com' \
  --upload-file mail.txt --user 'username@gmail.com:password' --insecure
From: "User Name" <username@gmail.com>
To: "John Smith" <john@example.com>
Cc: "Mary Smith" <mary@example.com>
Subject: This is a test

a BCC recipient eli is not specified in the data, just in the RCPT list.

于 2020-01-02T09:02:14.787 に答える