[perl]Verstuurde mails monitoren

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 08:38
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?

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();

Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Je kan ook eens kijken naar Amazon SES, deze heeft een zeer goede bounce API.

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Paultje3181 schreef op dinsdag 23 mei 2017 @ 13:39:
Maar kan ik überhaupt zien dat de mail in de spambox gekomen is?
Nope, dat zou het hele principe van spam-bestrijding om zeep helpen. Dan zou iedere spammer daarop controleren en als het het geval is het mailtje overnieuw sturen met net andere kenmerken net zolang tot het erdoor komt.

Je kan in je mail-server instellen dat die rechtstreeks moet afleveren (ipv indirect) zodat je aan de hand van je logs in ieder geval kan zeggen dat hij bij de ontvangende mail-server is aangekomen.

Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 08:38
Ik heb ondertussen het e.e.a. gedaan om mijn mails op te kunnen volgen. Ik krijg nu met een script dagelijks een overzicht van mijn verstuurde mails met de statuscode erbij. Nu is lang niet iedere provider hierin even duidelijk heb ik al wel gemerkt.

Als ik deze link: https://www.iana.org/assi...hanced-status-codes.xhtml bekijk, is een status 250 een antwoord dat mijn mail goed mijn server verlaten heeft.

Vervolgens is er een DSN 2.1.5 als het bericht goed aangekomen is bij de mailbox die ik wilde. Maar bij kpnmail.nl krijg ik een 2.6.0: Something about the content of a message caused it to be considered undeliverable and the problem cannot be well expressed with any of the other provided detail codes.

Mijn mails worden via perl in plain-text gestuurd. Heel veel kan er dus niet mis mee gaan, lijkt me.

Gaat er nu bij mij iets verkeerd of bij KPN? Waar zou ik nog meer kunnen kijken? mail-tester.com geeft alleen aan dat ie html content mist. Ik sta niet op spamlijsten o.i.d.

Acties:
  • 0 Henk 'm!

  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies

Paultje3181 schreef op woensdag 14 juni 2017 @ 12:43:

Mijn mails worden via perl in plain-text gestuurd. Heel veel kan er dus niet mis mee gaan, lijkt me.
Als je dat nou gewoon niet doet?

Doe eens wat alle commerciele jongens ook doen: HTML mail met een paar plaatjes erin. Die gebruiken een URL in de vorm /site.com/logo.png?id=12345 waar 12345 uniek en op de klant terug te voeren is. In de simpelste vorm is het webserver log jouw bewijs dat de mail gelezen is. Maar met wat code erachter kun je die informatie ook direct in een database gooien.

Nadeel is natuurlijk dat sommige mailprogramma's standaard geen plaatjes meer laten zien, juist vanwege dit soort tracking, maar daar staat tegenover dat elke hit op die image die je wel krijgt zekerheid geeft dat een mens iets met die mail gedaan heeft.

Acties:
  • 0 Henk 'm!

  • Tsjilp
  • Registratie: November 2002
  • Niet online

Tsjilp

RS[I]ds

Of kijk eens naar een API als mailjet, houdt keurig bij of een mail is bezorgd, en zelfs of een mail geopend is. Kunnen ze niet meer beweren dat ze hem hebben ontvangen.
Voor kleinschalig gebruik is het gratis!

Raar... Is zo gek nog niet


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
downtime schreef op donderdag 15 juni 2017 @ 06:57:
[...]
Nadeel is natuurlijk dat sommige mailprogramma's standaard geen plaatjes meer laten zien, juist vanwege dit soort tracking, maar daar staat tegenover dat elke hit op die image die je wel krijgt zekerheid geeft dat een mens iets met die mail gedaan heeft.
Je zegt het heel goed, een mens... Het hoeft nog steeds niet de geaddresseerde te zijn. Als pietje hem naar klaasje doorstuurt en klaasje toont de images dan krijg je binnen dat pietje interesse heeft.
Tsjilp schreef op donderdag 15 juni 2017 @ 15:53:
Of kijk eens naar een API als mailjet, houdt keurig bij of een mail is bezorgd, en zelfs of een mail geopend is. Kunnen ze niet meer beweren dat ze hem hebben ontvangen.
Voor kleinschalig gebruik is het gratis!
Tuurlijk kan ik wel beweren dat ik hem niet heb ontvangen, mailjet & co leveren alleen maar een best-effort service die heel leuk is voor de grote statistieken, maar ik zou er niet op detail niveau een discussie met een klant over willen hebben, want daarvoor is het gewoon inherent te onbetrouwbaar.

Acties:
  • 0 Henk 'm!

  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies

Gomez12 schreef op vrijdag 16 juni 2017 @ 10:03:
[...]

Je zegt het heel goed, een mens... Het hoeft nog steeds niet de geaddresseerde te zijn. Als pietje hem naar klaasje doorstuurt en klaasje toont de images dan krijg je binnen dat pietje interesse heeft.
Zo zijn er legio andere situaties waar je geen grip op hebt. Maar dan heb je het tenminste over scenario's waar Pietje ervoor heeft gekozen om die mail niet zelf te lezen. Dan kan hij niet meer de afzender verwijten dat ze nooit een mail hebben gehad.

Is een beetje te vergelijken met aangetekende brieven. Een handtekening voor ontvangst is geen garantie dat de brief door de juiste persoon geopend en gelezen is. Die kan ook ongelezen bij het oud papier zijn gegaan. Het is alleen maar bewijs dat de verzender er voldoende aan heeft gedaan om de ontvanger te informeren.

Acties:
  • 0 Henk 'm!

Verwijderd

-

[ Voor 99% gewijzigd door Verwijderd op 19-10-2019 11:52 . Reden: Leeg ivm privacy ]


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
downtime schreef op donderdag 15 juni 2017 @ 06:57:
Doe eens wat alle commerciele jongens ook doen: HTML mail met een paar plaatjes erin. Die gebruiken een URL in de vorm /site.com/logo.png?id=12345 waar 12345 uniek en op de klant terug te voeren is. In de simpelste vorm is het webserver log jouw bewijs dat de mail gelezen is.
Mail clients openen dat soort externe zaken absoluut niet by default. Dat heeft dus heel erg weinig zin.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies

Hydra schreef op vrijdag 16 juni 2017 @ 14:47:
[...]

Mail clients openen dat soort externe zaken absoluut niet by default. Dat heeft dus heel erg weinig zin.
Ik weet dat sommige mailclients dat (default) niet meer doen. Maar niet alle clients. Heb alleen geen overzicht van mailclients (en hun marktaandelen) die dat niet doen.

Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Hydra schreef op vrijdag 16 juni 2017 @ 14:47:
[...]


Mail clients openen dat soort externe zaken absoluut niet by default. Dat heeft dus heel erg weinig zin.
Er zijn nog wel andere truukjes, sales hier gebruikt bv Sidekick van HubSpot en die kan zien als ik een mail in Outlook 2016 open.

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
downtime schreef op vrijdag 16 juni 2017 @ 12:04:
[...]

Zo zijn er legio andere situaties waar je geen grip op hebt.
Beter gezegd, op geen enkele mail-situatie heb je grip. Het is gewoon niet in het protocol ingebakken en het wordt simpelweg te vaak misbruikt.
Is een beetje te vergelijken met aangetekende brieven. Een handtekening voor ontvangst is geen garantie dat de brief door de juiste persoon geopend en gelezen is. Die kan ook ongelezen bij het oud papier zijn gegaan. Het is alleen maar bewijs dat de verzender er voldoende aan heeft gedaan om de ontvanger te informeren.
Aangetekend is gewoon je eigen mail-server zelf alles direct laten afleveren en die logs bewaren.
Echter aangetekend met identificatie-plicht die vorm bestaat niet in e-mail terwijl dat nu net wel de vorm is die je wenst als je een een-op-een discussie met de klant wil hebben of iets is aangekomen of niet.

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
downtime schreef op vrijdag 16 juni 2017 @ 16:16:
Ik weet dat sommige mailclients dat (default) niet meer doen. Maar niet alle clients. Heb alleen geen overzicht van mailclients (en hun marktaandelen) die dat niet doen.
Noem er eens een paar dan? Want Outlook, Gmail, en Exchange Webmail doen dat default niet nl.

https://niels.nu

Pagina: 1