29 lines
819 B
Racket
29 lines
819 B
Racket
#lang racket/base
|
|
|
|
(require net/smtp
|
|
net/head
|
|
simple-ini)
|
|
|
|
(provide mail-report)
|
|
|
|
|
|
(define (mail-report ini subject report)
|
|
(let* ((get (λ (key msg)
|
|
(let ((v (ini-get ini 'mail key 'nil)))
|
|
(when (eq? v 'nil)
|
|
(error msg))
|
|
v)))
|
|
(from (get 'from "configure from address as name <email>"))
|
|
(to (get 'to "configure to address as name <email>"))
|
|
(server (get 'server "configure the smtp server"))
|
|
(port (ini-get ini 'mail 'port 25))
|
|
)
|
|
(let* ((hdr (standard-message-header from (list to) '() '() subject)))
|
|
(smtp-send-message server from (list to) hdr
|
|
(if (list? report) report (list report))
|
|
#:port-no port)
|
|
)
|
|
)
|
|
)
|
|
|