| Did you know ... | Search Documentation: |
| Pack smtp -- prolog/smtp.pl |
This module provides a simple means to send E-mail from a Prolog application. Here is a simple example:
send_message(Out) :-
format(Out, 'Hi Alice,\n\n', []),
format(Out, 'Want to go out tonight?\n\n', []),
format(Out, '\tCheers, Bob\n', []).
?- smtp_send_mail('alice@wonderland.com',
send_message,
[ subject('Tonight'),
from('bob@wonderland.com')
]).
This library currently supports good old SMTP, encrypted and authorized
ESMTP. Both SSL/TLS and STARTTLS encryption is supported. Authorization
is supported using =PLAIN= and =LOGIN= methods.
Data is currently being sent using the =DATA= keyword.
@tbd Support more advanced data transport extensions such as sending
MIME messages.
smtp(+Host)
the name or ip address for smtp host, eg. swi-prolog.orgfrom(+FromAddress)
atomic identifies sender address. Provides the default
for header(from(From)).date(+Date)
Set the date header. Default is to use the current time.subject(+Subject)
atomic: text for 'Subject:' email headerauth(User-Password)
authentication credentials, as atoms or strings.auth_method(+PlainOrLoginOrNone)
type of authentication. Default is default, alternatives
are plain and loginsecurity(Security)
one of: none, ssl, tls, starttlscontent_type(+ContentType)
sets Content-Type headermailed_by(By)
add X-Mailer: SWI-Prolog <version>, pack(smtp) to header
iff By == trueheader(from('My name,
me@server.org')) adds header "From: My name, my@server.org"
and header('FOO'(bar)) adds "FOO: bar"Defaults are provided by settings associated to this module.
Listens to debug(smtp) which for instance reports failure to
connect, (computation fails as per non-debug execution).