Rust sending emails via ssmtp
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Example
src
target/debug
Cargo.lock
Cargo.toml
LICENSE
README.md
email.txt

README.md

Rust Ssmtp

Rust sending emails via ssmtp

This is the beginning stages of this repo and I am a Rust newbie. Please provide suggestions or corrections. Currently there is no working method (that I am aware of) to send emails with Rust. So I made rust-ssmtp.

The requirements for Rust Ssmtp:

  1. Linux/OSX
  2. ssmtp

* Note: These instructions assume a Ubuntu machine and the use of a gmail account. You can use any smtp compatible email account.

Step One

Install ssmtp and configure

Run Commands:

apt-get -y install ssmtp
nano /etc/ssmtp/ssmtp.conf

Edit/Add the Follwing Lines:

root=your.account@gmail.com
mailhub=smtp.gmail.com:587
FromLineOverride=YES
UseSTARTTLS=YES
AuthUser=your.account
AuthPass=password
AuthMethod=LOGIN

* Note: Special charecters such as symbols will not work. Also dispable two step authentication.

Test Command:

ssmtp your.account@gmail.com
Subject: Hello
I am the body. World!

Another Test Command:

echo From: anything@email.com\n Subject: Hello\n I am the body. Wrold! > email.txt
ssmtp your.account@gmail.com < email.txt

Step Two

Create Main.rs File

extern crate ssmtp;
use ssmtp::email;

fn main() {

    // Configure email body and header
    email::create(
        // From Address
        "from.email@example.com",
        // To Address
        "to.email@example.com",
        // Subject
        "Subject - Hello World!",
        // Body
        "<html><body><h1>I am the body. Hello Wolrd!<br/><br/>And I accept html.</h1></body></html>"
    );

    // Define the actual email address to receive the email
    email::send("your.email@gmail.com");
}