LogicMachine Forum
LM5 can't send an email - Printable Version

+- LogicMachine Forum (https://forum.logicmachine.net)
+-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1)
+--- Forum: Scripting (https://forum.logicmachine.net/forumdisplay.php?fid=8)
+--- Thread: LM5 can't send an email (/showthread.php?tid=4714)



LM5 can't send an email - Fahd - 14.04.2023

Hi, 

I'm using this script in all of our projects to send a backup each month.
One of the LM5 can't send it anymore and  got this in the logs

* string: connection refused 
* nil
* string: Send Mail

NB: LM5 is connected to the ethernet.

What could be the issue?

Code:
--***************************************************************-- --*** For FW spaceLYnk 1.2.1 and FW homeLYnk 1.5.1 or higher ****-- --***************************************************************-- --** Email backup as attachment created by Erwin van der Zwart **-- --***************************************************************-- --********************* Start of parameters *********************-- --***************************************************************-- --Gmail (smtp) username !IMPORTANT! user = 'xxxx' --Gmail (smtp) password !IMPORTANT! password = 'xxxx' --Sender for e-mail from = '<xxxx>' alias_from = 'From me' --Recipient for e-mail to = '<xxxx>' alias_to = 'To you' --Subject for e-mail subjectpart1 = 'Back-up file' subjectpart2 = 'xxx' --Message on bottom of email (will only be showed when client don't understand attachment) epilogue = 'End of message' --***********************************************************-- --******************** End of parameters ********************-- --***********************************************************-- --********** DON'T CHANGE ANYTHING UNDER THIS LINE **********-- --***********************************************************-- --Create table to include mail settings local settings = {     from = from,     rcpt = to,     user = user,     password = password,     server = 'smtp.office365.com',     port = 587,     secure = 'tlsv1_2',         starttls = true, } --Create attachment src = 'backup-' .. os.date('%Y.%m.%d') .. '.tar.gz' dst = '/home/ftp/' .. src -- prepare files for backup os.execute('sh /lib/genohm-scada/web/general/backup.sh') -- create cleanup archive os.execute('cd /lib/genohm-scada/storage && tar -c -z -f ' .. dst .. ' ./') --Create subject subject = subjectpart1 .. ": " .. src .. " " .. subjectpart2 --Load required modules to send email with attachment local smtp = require("socket.smtp") local mime = require("mime") local ltn12 = require("ltn12") --Create e-mail header settings.source = smtp.message{ headers = {           from = '' .. alias_from .. ' ' .. from .. '',           to = '' .. alias_to .. ' ' .. to .. '',           subject = subject }, --Load attachment inside body     body = { preamble = "", [1] = {        headers = {          ["content-type"] = 'application/x-7z-compressed',          ["content-disposition"] = 'attachment; filename="'..src..'"',          ["content-description"] = '.. src ..',          ["content-transfer-encoding"] = "BASE64",       },                      body = ltn12.source.chain(       ltn12.source.file(io.open(dst, "rb")),       ltn12.filter.chain(       mime.encode("base64"),       mime.wrap()         )       )     },       epilogue = epilogue   } } --Send the email r, e = smtp.send(settings) --Create alert when sending gives an error with error message if (e) then   log (e)   log (r)   alert("Could not send email: ", e, "\n") end log("Send Mail") --Delete created backup file from tmp folder inside HL os.execute('cd /lib/genohm-scada/storage && rm -rf user userlib.luas blockly.luas initscript.lua helpers.js genohm-scada.config filter*')



RE: LM5 can't send an email - Daniel - 14.04.2023

Check this
https://forum.logicmachine.net/showthread.php?tid=4076&pid=26361#pid26361


RE: LM5 can't send an email - Fahd - 14.04.2023

(14.04.2023, 09:19)Daniel Wrote: Check this
https://forum.logicmachine.net/showthread.php?tid=4076&pid=26361#pid26361

The same script works on another LM5, and im not using gmail


RE: LM5 can't send an email - Daniel - 14.04.2023

Is it the same gmial account?


RE: LM5 can't send an email - Fahd - 14.04.2023

(14.04.2023, 09:26)Daniel Wrote: Is it the same gmial account?

the same account yes


RE: LM5 can't send an email - Daniel - 14.04.2023

Then it is ether typo in internet settings or some security stuff in gmail.


RE: LM5 can't send an email - Fahd - 14.04.2023

(14.04.2023, 09:27)Daniel Wrote: Then it is ether typo in internet settings or some security stuff in gmail.

it's not gmail, and i don't thing a typo because i copied the same script and test it and it works


RE: LM5 can't send an email - admin - 14.04.2023

Try pinging SMTP server from LM.


RE: LM5 can't send an email - Fahd - 14.04.2023

(14.04.2023, 09:29)admin Wrote: Try pinging SMTP server from LM.

PING smtp.office365.com (132.245.230.0): 56 data bytes
64 bytes from 132.245.230.0: seq=0 ttl=107 time=35.128 ms
64 bytes from 132.245.230.0: seq=1 ttl=107 time=41.218 ms
64 bytes from 132.245.230.0: seq=2 ttl=107 time=34.290 ms
64 bytes from 132.245.230.0: seq=3 ttl=107 time=33.080 ms

--- smtp.office365.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 33.080/35.929/41.218 m


RE: LM5 can't send an email - Daniel - 14.04.2023

Is it the same firmware on working and not working LM?


RE: LM5 can't send an email - Fahd - 14.04.2023

(14.04.2023, 09:38)Daniel Wrote: Is it the same firmware on working and not working LM?

Yes


RE: LM5 can't send an email - admin - 14.04.2023

Try running this script. If you still get connection refused error then contact Microsoft and ask why your connection is blocked.
Code:
sock = require('socket').tcp() sock:settimeout(5) res, err = sock:connect('smtp.office365.com', 587) sock:close() log(res, err)



RE: LM5 can't send an email - Fahd - 28.04.2023

(14.04.2023, 11:37)admin Wrote: Try running this script. If you still get connection refused error then contact Microsoft and ask why your connection is blocked.
Code:
sock = require('socket').tcp() sock:settimeout(5) res, err = sock:connect('smtp.office365.com', 587) sock:close() log(res, err)
The problem is solved,  port 587 was blocked by the firewall