Erlang - Email



To send an email using Erlang, you need to use a package available from github for the same. The github link is − https://github.com/Vagabond/gen_smtp

This link contains an smtp utility which can be used for sending email from an Erlang application. Follow the steps to have the ability to send an email from Erlang

Step 1 − Download the erl files from the github site. The files should be downloaded to the directory where your helloworld.erl application resides.

Step 2 − Compile all the smtp related files shown in the following list using the erlc command. The following files need to be compiled.

  • smtp_util
  • gen_smtp_client
  • gen_smtp_server
  • gen_smtp_server_session
  • binstr
  • gen_smtp_application
  • socket

Step 3 − The following code can be written to send an email using smtp.

Example

-module(helloworld). 
-export([start/0]). 

start() -> 
   gen_smtp_client:send({"sender@gmail.com", ["receiver@gmail.com"], "Subject: testing"},
   
   [{relay, "smtp.gmail.com"}, {ssl, true}, {username, "sender@gmail.com"}, 
      {password, "senderpassword"}]).

The following things need to be noted about the above program

  • The above smtp function is being used along with the smtp server available from google.

  • Since we wanted to send using a secure smtp, we specify the ssl parameter as true.

  • You need to specify the relay as smtp.gmail.com.

  • You need to mention a user name and password which has access to send the email.

Once you configure all the above settings and execute the program, the receiver will successfully receive an email.

Advertisements