懒人精灵发邮件函数源码

[复制链接]
查看4753 | 回复12 | 2021-11-12 15:20:33 | 显示全部楼层 |阅读模式
本帖最后由 zuyaosun 于 2021-11-12 16:18 编辑

function SendSimpleEmail(subject, body, em) -- 发送电子邮件(主题,内容,[收件人])
        local socket = require "socket"
        local smtp = require "socket.smtp"
        local ssl = require "ssl"
        local function sslCreate()
                local sock = socket.tcp()
                return setmetatable(
                {
                connect = function(_, host, port)
                        local r, e = sock:connect(host, port)
                        if not r then
                                return r, e
                        end
                        sock = ssl.wrap(sock, {mode = "client", protocol = "tlsv1"})
                        return sock:dohandshake()
                end
                },
                {
                __index = function(t, n)
                        return function(_, ...)
                                return sock[n](sock, ...)
                        end
                end
                }
                )
        end
        local from = "<zuyaosun@163.com>" --                          发件人邮箱  
        local user = "zuyaosun@163.com" --                            用户
        local password = "MUMLGLWLLTMFIPBL" --                        密码
        local server = "smtp.163.com" --                              服务器
        local port = 465 --                                           端口
        local rcpt = {"<312029928@qq.com>"} --                        收件人邮箱













        if type(em) == "string" and string.find(em, "@") and string.find(em, "%.") then
                table.insert(rcpt, "<" .. em .. ">")
        end


        local to = table.concat(rcpt, "")
        --print(to)
       
        local mesgt = {
        headers = {
        from = from,
        to = to,
        subject = subject
        },
        body = body
        }
        local r, e =
        smtp.send {
        from = from,
        rcpt = rcpt,
        source = smtp.message(mesgt),
        user = user,
        password = password,
        server = server,
        port = port,
        create = sslCreate
        }
        if r then
                return true
        else
                print("邮件发送失败", e) -- better error handling required
               
                return false
               
        end
       
end

print(SendSimpleEmail("这是主题", "ceshi", "312029928")) -- 发送电子邮件(主题,内容,[收件人])


--[===[    注意使用的时候吧源码下方的变量 改成自己的
        local from = "<zuyaosun@163.com>" --                          发件人邮箱  
        local user = "zuyaosun@163.com" --                            用户
        local password = "MUMLGLWLLTMFIPBL" --                        密码
        local server = "smtp.163.com" --                              服务器
        local port = 465 --                                           端口
        local rcpt = {"<312029928@qq.com>"} --                        收件人邮箱]===]



回复

使用道具 举报

flk100207 | 2021-11-12 15:23:09 | 显示全部楼层
还不如上一个
          只要有图灵

         生活就有希望
回复

使用道具 举报

121016700 | 2021-11-12 15:28:18 | 显示全部楼层
过来帮你涨人气
回复

使用道具 举报

yideng | 2021-11-12 15:34:02 | 显示全部楼层
使用代码格式,你这个看起来容易晕
回复

使用道具 举报

zuyaosun | 2021-11-12 15:55:07 | 显示全部楼层
是的 已经打包了 看我的第二个帖子
回复

使用道具 举报

zuyaosun | 2021-11-12 16:16:33 | 显示全部楼层

这是源码
做成插件的化一二行代码就行了
回复

使用道具 举报

wesjun08 | 2021-11-13 11:34:16 | 显示全部楼层
我现在学习下~
勇敢的牛牛不怕困难
回复

使用道具 举报

kssh0086 | 2021-11-13 15:27:00 | 显示全部楼层
回复

使用道具 举报

cyc262 | 2021-11-18 11:16:57 | 显示全部楼层
好★天
好★天
学★向
习★
回复

使用道具 举报

aa627816231 | 2021-11-25 21:20:31 | 显示全部楼层
我是伸手党,直接复制了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

2

主题

18

帖子

138

积分

注册会员

Rank: 2

积分
138