I ended up setting up a different gmail account and switched on the non-secure log-in function within gmail.
I changed the code to: EMailSender emailSend(“xxxxxx@gmail.com”, “password”); and I’m 100% sure the credentials are correct.
I still however get:
Connecting to [WiFiEsp] Connected to MS_DK_FB [2Ghz]
MS_DK_FB [2Ghz]
Connection: ESTABLISHED
Got IP address: 192.168.101.181
Sending status:
0
2
Could not connect to mail server
Perhaps I should mention that I’m using the Arduino Mega connected to the ESP8266 over serial.
I also send data to a remote server via the ESP8266 and all that functions well.
Any assistance would be appreciated.
Code follows:
#include "WiFiEsp.h"
#include <EMailSender.h>
char ssid[] = "MY SSID"; // your network SSID (name)
char pass[] = "MY PASSWORD"; // your network password
int keyIndex = 0; // your network key Index number (needed only for WEP)
WiFiEspClient client;
#define ESP_BAUDRATE 9600
#include <Wire.h>
int sendmyemailnow_tmr;
uint8_t connection_state = 0;
uint16_t reconnect_interval = 10000;
EMailSender emailSend("myemail@gmail.com", "myemailpassword");
uint8_t WiFiConnect(const char *nSSID = nullptr,
const char *nPassword = nullptr)
{
static uint16_t attempt = 0;
Serial.print("Connecting to ");
if (nSSID) {
WiFi.begin(nSSID, nPassword);
Serial.println(nSSID);
}
uint8_t i = 0;
while (WiFi.status() != WL_CONNECTED && i++ < 50) {
delay(200);
Serial.print(".");
}
++attempt;
Serial.println("");
if (i == 51) {
Serial.print("Connection: TIMEOUT on attempt: ");
Serial.println(attempt);
if (attempt % 2 == 0)
Serial.println(
"Check if access point available or SSID and Password\r\n");
return false;
}
Serial.println("Connection: ESTABLISHED");
Serial.print("Got IP address: ");
Serial.println(WiFi.localIP());
return true;
}
void Awaits() {
uint32_t ts = millis();
while (!connection_state) {
delay(50);
if (millis() > (ts + reconnect_interval) && !connection_state) {
connection_state = WiFiConnect();
ts = millis();
}
}
}
void setup() {
Serial.begin(9600);
Serial3.begin(9600); //baud rate for ESP8266 and Serial Monitor
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo native USB port only
}
Serial.print("Searching for ESP8266...");
WiFi.init(&Serial3);
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present");
while (true)
;
}
Serial.println("found it!");
Serial3.println("AT");
Serial.println("AT");
delay(5000);
if (Serial3.find("OK")) {
Serial.println("OK");
delay(1000);
}
}
void loop() {
delay(1000);
Serial.println(sendmyemailnow_tmr);
sendmyemailnow_tmr++;
if ((sendmyemailnow_tmr) > 20) {
sendmyemailnow_tmr = 0;
sendmyemailnow();
}
}
void sendmyemailnow() {
connection_state = WiFiConnect(ssid, pass);
if (!connection_state) // if not connected to WIFI
Awaits(); // constantly trying to connect
EMailSender::EMailMessage message;
message.subject = "Test Email1";
message.message = "Ciao come stai<br>io bene.<br>www.mischianti.org";
EMailSender::Response resp = emailSend.send("mornestander1971@gmail.com",
message);
Serial.println("Sending status: ");
Serial.println(resp.status);
Serial.println(resp.code);
Serial.println(resp.desc);
//EMAIL STUFF
}
This topic was modified 1 year, 5 months ago by Renzo Mischianti.
Hi Morne,
First, try the example to send the email that you can find to the examples folder and give me the test response.
It seems correct, so there may be a network problem, but we’ll have the response with the standard test.
Bye Renzo
I have tried your suggestion running it from the sample (EMailSenderEsp8266GMailTest.ino).
Although, I have disabled the ESP8266WiFi.h library as per below code example as I am not running my code on the ESP itself, but rather on an Arduino Mega2560 and talking to the ESP8266 over serial.
If I try to enable the ESP8266WiFi.h library it complains as I’ve obviously not selected the ESP via board manager.
I’m not sure of this makes sense.
If I run it as suggested code, nothing happens and no output to the serial port at all.
Maintaining a repository (or site or forum) is a lot like tending to a garden - it requires constant care and attention to keep it thriving. If you're a skilled gardener (or coder!) and want to help keep our repository blooming, we'd love to have you on board! We're also looking for talented writers and forum moderators to help us grow our community. Interested in joining our team? Don't hesitate to reach out and let us know how you can contribute!
Are you a fan of electronics or programming? Share your knowledge with others, write a simple tutorial or how to make a great project Contact me: share_your_ideas@mischianti.org
The content displayed on this website is protected under a CC BY-NC-ND license. Visitors are prohibited from using, redistributing, or altering any content from this website for commercial purposes, including generating revenue through advertising. Any unauthorized use is a violation of the license terms and legal action may be taken against individuals or entities found to be in violation.
You must also provide the link to the source.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.