How to Send Mail use cURL

0
(0)

cURL supports sending data to an SMTP gateway

cURL in combination with command-line options, sends an email to a recipient. Originally the name stood for “see URL” and was later reinterpreted to the current Backronym cURL.

The basic command for sending an email using cURL.

$ curl smtp://mail.server.com --mail-from sender@domain.com --mail-rcpt
receiver@domain.com --upload-file email.txt

Example application of cURL SMTP in the terminal emulator:

$ curl -v smtp://mail.server.com/email.com --mail-from don@email.com --mail-rcpt rosa@email.com --upload-file email.txt

The following is the output in the terminal:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 10.12.15.13...
* TCP_NODELAY set
* Connected to mail.server.com (10.12.15.13) port 25 (#0)
< 220 mail.server.com ESMTP
> EHLO email.com
< 250-mail.server.com
< 250-PIPELINING
< 250-SIZE 22000000
< 250-ETRN
< 250-ENHANCEDSTATUSCODES
< 250-8BITMIME
< 250 DSN
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0> MAIL FROM:<don@email.com> SIZE=355
< 250 2.1.0 Ok
> RCPT TO:<rosa@email.com>
< 250 2.1.5 Ok
> DATA
< 354 End data with <CR><LF>.<CR><LF>
} [355 bytes data]
* We are completely uploaded and fine
< 250 2.0.0 Ok: queued as B744B28008
100   355    0     0  100   355      0    355  0:00:01 --:--:--  0:00:01  1334
* Connection #0 to host mail.server.com left intact

Using -v parameter to generates verbose output.

The file email.txt is uploaded and sent by cURL to the SMTP relay.

From: Don <don@email.com>
To: Rosa <rosa@email.com>
Subject: This is an example with cURL SMTP
Date: Sam, Jan 19, 2019 12:50:16 PM

Hello Rosa,
Welcome to cURL email, today is a beautiful day.

The content of email.txt take From, To, Subject, Date lines as data fields that serves the Simple Mail Transfer Protocol.

The Mail Transfer Agent (MTA) must be configured to accept mail from the host that uses cURL on it, if it is not an MTA itself, a directive must be configured with smtpd_sender_restrictions, e.g. smtpd_client_restrictions.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Leave a Reply

Your email address will not be published. Required fields are marked *