# luan:mail/Mail.luan
- `Mail.sender{host=, port=, username=, password=, helo=}.send`: `host` and `port` are required; `username` and `password` go together; unknown keys are an error. Port 465 uses SSL. Usual form: `local send = Mail.sender{...}.send`.
- `send(mail)`: `mail` is a table of headers (`From`, `To`, `Subject`, ..., all strings) plus `body`. `body` is a string (default `Content-Type` is `text/plain; charset=utf-8`), a binary (needs `Content-Type`), or a list of part tables, each with its own headers and `body` (default `multipart/mixed`). An attachment is a part with `Content-Disposition: attachment; filename="..."`.
- Bug, to be fixed in goodjava: the `MAIL FROM` and `RCPT TO` commands get the whole header value, display name included, which strict SMTP servers reject. Lenient servers such as smtp2go accept it.