| 
 | 
 
可以使用lua脚本通过smtp发送邮件通知,用来传递信息而不必登陆vps或者mush来查看。 
 
- 新建一个mail.lua, 内容如下: (我以163信箱为例)
 
 
  
 
require "socket" 
require "socket.smtp" 
 
function sendmail(subjectmud, bodymud) 
        if subjectmud==nil then 
                subjectmud = 'Message from SJ Mud' 
        end 
        if bodymud==nil then 
                bodymud = 'no content' 
        end 
        local smtp = require("socket.smtp") 
        from = "<xxx@163.com>" 
        rcpt = { 
                "<xxx@163.com>" 
        } 
        mesgt = { 
                headers = { 
                        to = "<xxx@163.com>", 
                        cc = '', 
                        subject = subjectmud 
                }, 
                body = bodymud 
        } 
        r, e = smtp.send{ 
          from = from, 
          rcpt = rcpt, 
          source = smtp.message(mesgt), 
          user = "xxx@163.com", 
          password = "123456", 
          server = "smtp.163.com", 
          port = 25 
        } 
        print(e) 
        print(r) 
end 
 
- 在shujian.lua里面新增一条 require "mail.lua"
 - 在需要通过邮件信息发送的地方,可以使用sendmail(标题,正文), 例如:
 
  场景一:人物发呆提醒 
   if flag.idle<12 then 
      chats_log("ROBOT 可能已发呆".. flag.idle/2 .."分钟!","deepskyblue") 
          sendmail(score.name.." 已经发呆了"..flag.idle/2 .."分钟") 
          return 
   end 
 
场景二:武器丢失提醒 
function checkBagsOver() 
   draw_bagwindow() 
   checkBY() 
   draw_beinangwindow() 
   EnableTriggerGroup("bags",false) 
   DeleteTriggerGroup("bags") 
   EnableTriggerGroup("beinang",false) 
   DeleteTriggerGroup("beinang") 
        if not Bag["三才三清剑"] and score.name == "冬至" then 
                sendmail("冬至(aws)的 三才三清剑 没了,快去看看", "as title") 
        end 
 
 
也可以对任务情况做个通知,比如小时统计,任务失败提示等等,这个只是让你获取mud信息多了个途径。 
 
注: 
- 上面但凡是邮箱地址的地方,都改成自己的邮箱即可,也无需区分发送自和接收者,简单点。
 - 其中server=smtp.163.com 如果不用163的邮箱那就更换成对应的邮件服务器的smtp地址和对应的端口(如果不是默认的25的话)
 - subjectmud 是邮件标题,bodymud是邮件正文,但是由于编码的关系,可能中文看到的都是乱码。
 - 163邮箱默认是不开启smtp的,所以需要进入邮箱管理页面启用下。
 
 
  
 
 |   
 
评分
- 
1
查看全部评分 
 
- 
 
 
 
 
 |