* arg: 1
* nil
* arg: 2
* string: 535-5.7.8 Username and Password not accepted. For more information, go to
535 5.7.8 https://support.google.com/mail/?p=BadCredentials 4fb4d7f45d1cf-5fa77bf1e35sm8035646a12.66 - gsmtp
This is the function i used :
Code:
function Email(to, subject, message)
-- make sure these settings are correct
---------------BEGINNING OF USER EDITABLE AREA-------------------
local settings = {
-- "from" field, only e-mail must be specified here
from = 'nguenangulrich6@gmail.com',
-- smtp username
user = 'nguenangulrich6@gmail.com',
-- smtp password
password = '***',
-- smtp server
server = 'smtp.gmail.com',
-- smtp server port
port = 465,
-- enable ssl, required for gmail smtp
secure = 'sslv23',
}
-------------------END OF USER EDITABLE AREA---------------------
local smtp = require('socket.smtp')
local escape = function(v)
return '<' .. tostring(v) .. '>'
end
-- message headers and body
settings.source = smtp.message({
headers = {
to = escape(to),
subject = subject,
},
body = message
})
-- fixup from field
settings.from = escape(settings.from)
settings.rcpt = { escape(to) }
return smtp.send(settings)
end
the gmail acount i created is "nguenangulrich6@gmail.com" and the pasword "***"
(05.05.2025, 08:55)Erwin van der Zwart Wrote: Are you using gmail? If yes did you created an app password in your gmail account and use that in your script?
You need to enable 2FA and the create app password: https://myaccount.google.com/apppasswords
When adding password to your script remove all spaces so only 16 characters are left.
* arg: 1
* nil
* arg: 2
* string: 535-5.7.8 Username and Password not accepted. For more information, go to
535 5.7.8 https://support.google.com/mail/?p=BadCredentials 4fb4d7f45d1cf-5fa77bf1e35sm8035646a12.66 - gsmtp
This is the function i used :
Code:
function Email(to, subject, message)
-- make sure these settings are correct
---------------BEGINNING OF USER EDITABLE AREA-------------------
local settings = {
-- "from" field, only e-mail must be specified here
from = 'nguenangulrich6@gmail.com',
-- smtp username
user = 'nguenangulrich6@gmail.com',
-- smtp password
password = '***',
-- smtp server
server = 'smtp.gmail.com',
-- smtp server port
port = 465,
-- enable ssl, required for gmail smtp
secure = 'sslv23',
}
-------------------END OF USER EDITABLE AREA---------------------
local smtp = require('socket.smtp')
local escape = function(v)
return '<' .. tostring(v) .. '>'
end
-- message headers and body
settings.source = smtp.message({
headers = {
to = escape(to),
subject = subject,
},
body = message
})
-- fixup from field
settings.from = escape(settings.from)
settings.rcpt = { escape(to) }
return smtp.send(settings)
end
the gmail acount i created is "nguenangulrich6@gmail.com" and the pasword "***"
(05.05.2025, 08:55)Erwin van der Zwart Wrote: Are you using gmail? If yes did you created an app password in your gmail account and use that in your script?
I tryed to do the same script, in my Comm Funct, I have:
Code:
function mail(to, subject, message)
-- make sure these settings are correct
local settings = {
-- "from" field, only e-mail must be specified here
from ='al*******@gmail.com',
-- smtp username
user = 'LM********',
-- smtp password
password = '********',
-- smtp server
server = 'smtp.gmail.com',
-- smtp server port
port = 465,
-- enable ssl, required for gmail smtp
-- secure = 'tlsv1_2',
secure = 'sslv23'
}
local smtp = require('socket.smtp')
local escape = function(v)
return '<'..tostring..'>'
end
-- if type(to) ~= 'table' then
-- to = { to }
--end
-- for index, email in ipairs(to) do
-- to[ index ] = '<' .. tostring(email) .. '>'
--end
-- Fixup from field
-- local from = '<' ..tostring(settings.from)..'>'
-- message headers and body
settings.source = smtp.message({
headers = {
-- to = table.concat(to, ', '),
to = escape(to),
subject = subject,
--['From'] = settings.from,
['From'] = from,
['Content-type'] = 'text/html; charset=utf-8',
},
body = message
})
-- fixup from field
--settings.from = '<' .. tostring(settings.from) .. '>'
-- settings.from = from
settings.from = escape(settings.from)
--settings.rcpt = to
settings.rcpt = { escape(to)}
if curr_value then
subject = 'Main switch = PERMIT'
message = '\nState: Desbloqueado'
else
subject = 'Main switch = PROHIBIT'
message = '\nState: BLOQUEADO!!'
end
mail('ju*********@gmail.com', subject, message)
The problem is that when I Run my Event script, I don't have any Log or Error, but I neither recive any e-mail in my account.
I will appreciate the help!
Don't randomly change the mail() function. You only need to change the settings table, everything else should be kept as is. In your case the 'From' header is invalid because the assigned variable is not defined.
Don't randomly change the mail() function. You only need to change the settings table, everything else should be kept as is. In your case the 'From' header is invalid because the assigned variable is not defined.
Thanks for the point. I forgot to include the log, but when I run the script again, I get no response from either the log or the error log, even though I added the log before running it. I'm also not receiving the email. I've also removed the "From" from the message body, so it now looks like this (in Comm Func) :
Code:
function mail(to, subject, message)
local settings = {
-- "from" field, only e-mail must be specified here
from ='al************@gmail.com',
-- smtp username
user = 'LM**********',
-- smtp password
password = 's************',
-- smtp server
server = 'smtp.gmail.com',
-- smtp server port
port = 465,
-- enable ssl, required for gmail smtp
-- secure = 'tlsv1_2',
secure = 'sslv23'
}
local smtp = require('socket.smtp')
local escape = function(v)
return '<' .. tostring .. '>'
end
-- message headers and body
settings.source = smtp.message({
headers = {
to = escape(to),
subject = subject,
},
body = message
})
settings.from = escape(settings.from)
settings.rcpt = { escape(to)}
From header is required, mail sending won't work without it. Temporarily modify the event script so it only sends the email without checking the previous value and waiting for 10 seconds.
(27.11.2025, 11:55)admin Wrote: From header is required, mail sending won't work without it. Temporarily modify the event script so it only sends the email without checking the previous value and waiting for 10 seconds.
Almost fixed, now it's sending me the same error that the collegue:
Quote: * string: 535-5.7.8 Username and Password not accepted. For more information
I already change the user name and the password, I delete the spaces from the password and give the same name that I use when i create the app password, the "app name"
(27.11.2025, 12:18)admin Wrote: Username should be the same as the sending email (from), including @gmail.com
The app password should be 16 characters without spaces.