]]--
local rspamd_tcp = require "rspamd_tcp"
+local lua_util = require "lua_util"
local exports = {}
--[[[
-- @function lua_smtp.sendmail(task, message, opts, callback)
--]]
-local function sendmail(task, message, opts, callback)
+local function sendmail(opts, message, callback)
local stage = 'connect'
local function mail_cb(err, data, conn)
opts.recipients = {opts.recipients}
end
- if not rspamd_tcp.request({
- task = task,
- callback = mail_cb,
- stop_pattern = CRLF,
- host = opts.host,
- port = opts.port or 25,
- timeout = opts.timeout or default_timeout,
- }) then
+ local tcp_opts = lua_util.shallowcopy(opts)
+ tcp_opts.stop_pattern = CRLF
+ tcp_opts.timeout = opts.timeout or default_timeout
+ tcp_opts.callback = mail_cb
+
+ if not rspamd_tcp.request(tcp_opts) then
callback(false, 'cannot make a TCP connection')
end
end
end
end
- lua_smtp.sendmail(task, formatted, {
+ lua_smtp.sendmail({
+ task = task,
host = rule.smtp,
port = rule.smtp_port or settings.smtp_port or 25,
from = rule.mail_from or settings.mail_from,
recipients = rule.mail_to,
helo = rule.helo or settings.helo,
timeout = rule.timeout or settings.timeout,
- }, sendmail_cb)
+ }, formatted, sendmail_cb)
end,
}