Adjusted some fine details.

This commit is contained in:
Diego Nehab 2004-03-19 06:14:56 +00:00
parent e896454e6c
commit 2a14ac4fe4
2 changed files with 56 additions and 3 deletions

View File

@ -87,7 +87,7 @@ end
local function sendsource(mesgt) local function sendsource(mesgt)
-- set content-type if user didn't override -- set content-type if user didn't override
if not mesgt.headers or not mesgt.headers["content-type"] then if not mesgt.headers or not mesgt.headers["content-type"] then
coroutine.yield('content-type: text/plain; charset="iso-88591"\r\n') coroutine.yield('content-type: text/plain; charset="iso-8859-1"\r\n')
end end
-- finish headers -- finish headers
coroutine.yield("\r\n") coroutine.yield("\r\n")
@ -104,7 +104,7 @@ end
local function sendstring(mesgt) local function sendstring(mesgt)
-- set content-type if user didn't override -- set content-type if user didn't override
if not mesgt.headers or not mesgt.headers["content-type"] then if not mesgt.headers or not mesgt.headers["content-type"] then
coroutine.yield('content-type: text/plain; charset="iso-88591"\r\n') coroutine.yield('content-type: text/plain; charset="iso-8859-1"\r\n')
end end
-- finish headers -- finish headers
coroutine.yield("\r\n") coroutine.yield("\r\n")
@ -135,7 +135,7 @@ local function adjustheaders(mesgt)
mesgt.headers = mesgt.headers or {} mesgt.headers = mesgt.headers or {}
mesgt.headers["mime-version"] = "1.0" mesgt.headers["mime-version"] = "1.0"
mesgt.headers["date"] = mesgt.headers["date"] or mesgt.headers["date"] = mesgt.headers["date"] or
os.date("%a, %d %b %Y %H:%M:%S") .. (mesgt.zone or ZONE) os.date("!%a, %d %b %Y %H:%M:%S ") .. (mesgt.zone or ZONE)
mesgt.headers["x-mailer"] = mesgt.headers["x-mailer"] or socket.version mesgt.headers["x-mailer"] = mesgt.headers["x-mailer"] or socket.version
end end

53
test/testmesg.lua Normal file
View File

@ -0,0 +1,53 @@
mesgt = {
headers = {
to = "D Burgess <db@werx4.com>",
subject = "Looking good! (please check headers)"
},
body = {
preamble = "Some attatched stuff",
[1] = {
body = "Testing stuffing.\r\n.\r\nGot you.\r\n.Hehehe.\r\n"
},
[2] = {
headers = {
["content-type"] = 'application/octet-stream; name="luasocket"',
["content-disposition"] = 'attachment; filename="luasocket"',
["content-transfer-encoding"] = "BASE64"
},
body = ltn12.source.chain(
ltn12.source.file(io.open("luasocket", "rb")),
ltn12.filter.chain(
mime.encode("base64"),
mime.wrap()
)
)
},
[3] = {
headers = {
["content-type"] = 'text/plain; name="testmesg.lua"',
["content-disposition"] = 'attachment; filename="testmesg.lua"',
["content-transfer-encoding"] = "QUOTED-PRINTABLE"
},
body = ltn12.source.chain(
ltn12.source.file(io.open("message.lua", "rb")),
ltn12.filter.chain(
mime.normalize(),
mime.encode("quoted-printable"),
mime.wrap("quoted-printable")
)
)
},
epilogue = "Done attaching stuff",
}
}
-- sink = ltn12.sink.file(io.stdout)
-- source = ltn12.source.chain(socket.smtp.message(mesgt), socket.smtp.stuff())
-- ltn12.pump(source, sink)
print(socket.smtp.send {
rcpt = {"<db@werx4.com>", "<diego@cs.princeton.edu>"},
from = "<diego@cs.princeton.edu>",
source = socket.smtp.message(mesgt),
server = "smtp.princeton.edu"
})