local net = require "net" local tArgs = {...} local hostname = io.open("/etc/hostname","rb"):read() if not tArgs[1] then io.write("To: ") tArgs[1] = io.read() end if not tArgs[2] then io.write("From: ") tArgs[2] = io.read() print("\n") end if not tArgs[3] then io.write("Subject: ") tArgs[3] = io.read() end local user,host = tArgs[1]:match("(.+)@(.+)") local from = tArgs[2] .. "@" .. hostname subject = tArgs[3] print("To: "..user.."@"..host) print("From: "..from) print("Subject: "..subject) local fileID = tArgs[4] if not fileID then fileID = "/tmp/mail-"..tostring(math.random(1000000,9999999)) os.execute("edit "..fileID) end local f = io.open(fileID,"rb") local message = f:read("*a") f:close() socket = net.open(host,25) socket:write("To: "..user.."@"..host.."\n") socket:write("From: "..from.."\n") socket:write("Subject: "..subject.."\n") socket:write(message) socket:close()