Send email via SMTP with Portenta

Does anyone know off hand of an email sender (regular SMTP via exchange server etc) that will work with the Portenta H7.

I would like to send SMS messages for alerts, and plan to do it through an email to SMS server of the cellular provider.

Thanks

1 Like

I am not sure this works on a Portenta, but the documentation mentions that this library works on all architectures.

Thanks - I saw that as well, but have not tried it - was wondering if anyone has.

I have to have a number of ethernet services running at the same time (web server, email send, and MODBUS TCP/IP). I am hoping I don't ghet interference between the various applications.

There is only one way to find out I guess.

I would have preferred if someone else found out first :slight_smile:

Tried to see if I can get it to work, but so far, not successful.

I have tested my exchange server, and I can send an email using telnet, and AUTH LOGIN

However, when trying to use the software here, I get error 510 5.5.4 Invalid domain - even though in my firewall, I can see that it is trying to access the right domain.

I am using port 587 - as that is the port I successfully sent an email with from telnet

Not sure what to try next

I also tried gmail - and that does not work either. I think google eliminated the ability to have less secure connections to their email servers, and this will no longer be possible. I have a homeseer device, and it is no longer able to connect via gmail either.

Got it to work:

Have to make sure exchange server allow AUTH LOGIN

Then had to make changes to the EMailSender.cpp library file

line 529

String helo = commandHELO + " "+ smtp_server ;

the publicIpDescriptor can stay as is - what I had to do was remove the colon from being output at the end of the EHLO command

Finally
if (this->useEHLO == true) {
for (int i = 0; i<=11; i++) awaitSMTPResponse(client);
}

on line 541 - the i<=6 was increased to 11 - as there are a lot more outputs than 6 from the EHLO response from the exchange server. This command needs to be improved so that if the delay is short - it looks for the next one, however, if the delay is long - likely that was the last one. Should be possible by looking at the elapsed time between for loop iterations.

In the main program, I use
EMailSender emailSend("myemail@domain.com, "mypass", "myemail@domain.com", "my_exchangeServer",587);

(replace the values in "" with your parameters

I also execute an
emailSend.setEHLOCommand(true); to use EHLO and not HELO

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.