phpoc_man
Published © GPL3+

Gmail & Arduino UNO & IPv6

This example show how to send email via Gmail and ESMTP-based email agent as well from Arduino UNO. It can be used with both IPv4 and IPv6

BeginnerProtip6,322
Gmail & Arduino UNO & IPv6

Things used in this project

Story

Read more

Schematics

arduino_shield_conect_SCCdk4scHa.png

Just stack PHPoC Shield on Arduino Uno

Code

IPv4 Source Code

Arduino
/* arduino email client - send email via gmail relay server */

#include "SPI.h"
#include "Phpoc.h"

PhpocEmail email;

void setup() {
  Serial.begin(9600);
  while(!Serial)
    ;
    
  Phpoc.begin(PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP);
  //Phpoc.begin();
  
  Serial.println("Sending email to gmail relay server");

  // [login using your private password]
  // Google may block sign-in attempts from some apps or devices that do not use modern security standards.
  // Change your settings to allow less secure apps to access your account.
  // https://www.google.com/settings/security/lesssecureapps
  
  // [login using app password]
  // 1. turn on 2-step verification
  // 2. create app password
  // 3. apply app password as your login password

  // setup outgoing relay server - gmail.com
  email.setOutgoingServer("smtp.gmail.com", 587);
  email.setOutgoingLogin("your_login_id", "your_login_password or app_password");

  // setup From/To/Subject
  email.setFrom("from_email_address", "from_user_name");
  email.setTo("to_email_address", "to_user_name");
  email.setSubject("Mail from PHPoC Shield for Arduino");

  // write email message
  email.beginMessage();
  email.println("Hello, world!");
  email.println("I am PHPoC Shield for Arduino");
  email.println("Good bye");
  email.endMessage();

  // send email
  if(email.send() > 0)
    Serial.println("Email send ok");
  else
    Serial.println("Email send failed");
}

void loop() {
}

IPv6 Source Code

Arduino
- It's similar to IPv4. Just adding one more line: Phpoc.beginIP6();
- You need to enable IPv6 on PHPoC Shield setting , see this http://www.phpoc.com/support/manual/phpoc_shield_for_arduino/contents.php?id=network_ip_dhcp
- Your LAN network also have to support IPv6
/* arduino email client - send email via gmail relay server */

#include "SPI.h"
#include "Phpoc.h"

PhpocEmail email;

void setup() {
  Serial.begin(9600);
  while(!Serial)
    ;
    
  Phpoc.begin(PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP);
  //Phpoc.begin();
  
  Phpoc.beginIP6();
  
  Serial.println("Sending email to gmail relay server");

  // [login using your private password]
  // Google may block sign-in attempts from some apps or devices that do not use modern security standards.
  // Change your settings to allow less secure apps to access your account.
  // https://www.google.com/settings/security/lesssecureapps
  
  // [login using app password]
  // 1. turn on 2-step verification
  // 2. create app password
  // 3. apply app password as your login password

  // setup outgoing relay server - gmail.com
  email.setOutgoingServer("smtp.gmail.com", 587);
  email.setOutgoingLogin("your_login_id", "your_login_password or app_password");

  // setup From/To/Subject
  email.setFrom("from_email_address", "from_user_name");
  email.setTo("to_email_address", "to_user_name");
  email.setSubject("Mail from PHPoC Shield for Arduino");

  // write email message
  email.beginMessage();
  email.println("Hello, world!");
  email.println("I am PHPoC Shield for Arduino");
  email.println("Good bye");
  email.endMessage();

  // send email
  if(email.send() > 0)
    Serial.println("Email send ok");
  else
    Serial.println("Email send failed");
}

void loop() {
}

PHPoC library for Arduino

This library communicates with PHPoC Shield to connect to the Internet. It's also contains Gmail library. How to install library: http://www.phpoc.com/support/manual/phpoc_shield_for_arduino/

Credits

phpoc_man

phpoc_man

62 projects • 406 followers

Comments