Using curl to send email
if one wants to send mails as carbon copy or blind carbon copy:
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.
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 file contents:
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!
Additional info:
I’m using
curl
version 7.21.6 with SSL support.You don't need to use the
--insecure
switch, which preventscurl
from performing SSL connection verification. See this online resource for further details.It’s considered a bad security practice to pass account credentials thru command line arguments. Use
--netrc-file
. See the documentation.You must turn on access for less secure apps or the newer App passwords.