LogicMachine Forum
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: email? (/showthread.php?tid=3352)



email? - Fred - 08.05.2021

I am using the standard script to send email. LM5 v20191015.

No matter what host I set in server, I get an error about "string: 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8  https://support.google.com/mail/?p=BadCredentials c5sm15367699wrs.73 - gsmtp"


Why on earth would GOOGLE be there if I ask it to go to "sss" ???

How can I debug this?
I have tried all the combination of 'secure' found on the forum in various posts over the years; this is really confusing but in any case does not change anything since GOOGLE is always back as error.

Thanks for any help or pointers




function mail(to, subject, message)
  -- make sure these settings are correct

  local settings = {

    -- "from" field, only e-mail must be specified here

    from = '...',

    -- smtp username

    user = '...',

    -- smtp password

    password = '...',

    -- smtp server

    server = 'sss',

    -- smtp server port

    port = 465,

    secure = 'tlsv12',

    -- use STARTTLS mode

    --starttls = true,



  }



  local smtp = require('socket.smtp')



  if type(to) ~= 'table' then

    to = { to }

  end



  for index, email in ipairs(to) do

    to[ index ] = '<' .. tostring(email) .. '>'

  end



  -- message headers and body

  settings.source = smtp.message({

    headers = {

      to = table.concat(to, ', '),

      subject = subject,

      ['Content-type'] = 'text/html; charset=utf-8',

    },

    body = message

  })



  -- fixup from field

  settings.from = '<' .. tostring(settings.from) .. '>'

  settings.rcpt = to



  return smtp.send(settings)
end



RE: email? - Erwin van der Zwart - 09.05.2021

Hi,

Couple of things to check:

1) Make sure DNS and DG are set correct in the interface settings (otherwise you have no internet access)
2) Enable https://myaccount.google.com/lesssecureapps on your gmail account (otherwise mail from machines is blocked by google)
3) Use these settings in the common functions:
Code:
-- send an e-mail function mail(to, subject, message)   -- make sure these settings are correct   local settings = {     -- "from" field, only e-mail must be specified here     from = 'yourmail@gmail.com',     -- smtp username     user = 'yourmail@gmail.com',     -- smtp password     password = 'yoursecretpassword',     -- smtp server     server = 'smtp.gmail.com',     -- smtp server port     port = 465,     -- enable tls, required for gmail smtp     secure = 'tlsv1_2',   }   local smtp = require('socket.smtp')   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, ', '),       subject = subject,       ['From'] = from,       ['Content-type'] = 'text/html; charset=utf-8',     },     body = message   })   settings.from = from   settings.rcpt = to   res, err = smtp.send(settings)   return res,err end
4) Send a mail
Code:
subject = 'E-mail test' message = 'Testing e-mail' res, err = mail('yourrecipient@gmail.com', subject, message)