Via een perl-script verstuur ik dagelijks mails naar klanten. Dit gaat meestal goed, maar soms komen ze terug en zeggen ze dat ze geen mail gehad hebben. Deze worden echter 2 weken van tevoren gestuurd. Vaak zijn ze het dus gewoon vergeten. Maar soms komen ze ook in de spam, of helemaal niet aan.
Dit laatste is natuurlijk niet wenselijk en wil ik opvolgen. Via mail-tester.com scoor ik een 10. DKIM, DMARC, TLS e.d. zijn goed geconfigureerd. ReverseDNS staat goed. Spamassassin gaat ook goed.
Ieder mailtje dat ik verstuur is terug te vinden in /var/log/exim/mainlog (Debian-exim:adm 640). Het script dat ik run wordt door een gewone user gerund.
Is het mogelijk om het message_id van het verzonden bericht en de status hiervan te achterhalen uit /var/log/exim/mainlog en dit te loggen? Hoe zou ik dit het beste aan kunnen pakken? Tot nu toe heb ik gevonden dat een status 250 in ieder geval aangeeft dat ie verzonden is. Maar kan ik überhaupt zien dat de mail in de spambox gekomen is?
Dit laatste is natuurlijk niet wenselijk en wil ik opvolgen. Via mail-tester.com scoor ik een 10. DKIM, DMARC, TLS e.d. zijn goed geconfigureerd. ReverseDNS staat goed. Spamassassin gaat ook goed.
Ieder mailtje dat ik verstuur is terug te vinden in /var/log/exim/mainlog (Debian-exim:adm 640). Het script dat ik run wordt door een gewone user gerund.
Is het mogelijk om het message_id van het verzonden bericht en de status hiervan te achterhalen uit /var/log/exim/mainlog en dit te loggen? Hoe zou ik dit het beste aan kunnen pakken? Tot nu toe heb ik gevonden dat een status 250 in ieder geval aangeeft dat ie verzonden is. Maar kan ik überhaupt zien dat de mail in de spambox gekomen is?
Perl:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| #!/usr/bin/perl use POSIX; use DBI; use IO::Socket::SSL; use Mail::IMAPClient; use Net::SMTP; use Email::Simple; use MIME::Parser; use Email::Stuffer; ... $smtps = Net::SMTP->new($server, Hello => 'mailman', SSL => 0, Debug => $debug, Port => 587) or die "Geen socket: $@\n"; $smtps->auth($username2, $password); $smtps->mail("noreply\@example.com"); $smtps->to($email_ontvanger); my $de_email = Email::Stuffer->to($email_ontvanger) ->from("$valid_sender <noreply\@herhaalservice.info>") ->reply_to("$valid_sender <$valid_mailaddress>") ->subject($message_afzender) ->text_body($message_to_send) ->as_string; $smtps->data("$de_email\n\n"); $smtps->quit(); |