[Exim] Lange Query Timeout in mainlog, oorzaak?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 12:17
Mijn mailserver stuurt vanuit scripts regelmatig mails in bulk. Nu duurt dit ongeveer 15 seconden per mail, doordat de QT op 15s staat.

Erg lastig dus, aangezien dit mijn script erg vertraagt. Vaak is dit een gevolg van de idnet. Maar wat zijn de gevolgen als ik de ident uit zet? Dus rfc1413_query_timeout = 0s in de exim-configuratie.

Ik lees meestal dat het voor mij niet nuttig is, omdat toch niemand reageert, maar het zal toch wel ergens voor zijn neem ik aan... En aangezien het default aan staat...

Ik heb het toch maar even uitgezet, gezien de reacties die ik vind, maar in mijn mainlog staat nog steeds QT=15s, het lijkt dus toch ergens anders te zitten.

Waar kan ik andere oorzaken achterhalen van een lange QT (Altijd 15s, dus lijkt ergens toch een timeout te zijn)

[ Voor 48% gewijzigd door Paultje3181 op 28-01-2016 11:55 ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 12:17
Niemand die weet waardoor een lange QT nog meer kan komen?

Acties:
  • +1 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

rfc1413 is ident. Dat kun je zonder gevolg uitzetten.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • +1 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 30-09 22:30

Hero of Time

Moderator LNX

There is only one Legend

Titel op verzoek aangepast en heb er ook maar gelijk een vraag-topic van gemaakt.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 12:17
@CyBeR: Dankjewel. Dat dacht ik zelf ondertussen ook, maar het waarom en hoe ben ik nog niet achter ;)

Ik ben ondertussen gaan spitten in de mainlog van exim om te achterhalen waarom ik zo'n lange QT heb. Het probleem zit bij 1 router en 1 transport ben ik achter gekomen.
Router:
code:
1
2
3
4
5
6
7
8
9
10
dovecot_user:
      driver = accept
        condition = ${lookup mysql{SELECT CONCAT(mailboxes.local_part,'@',domains.fqdn) AS goto FROM domains,mailboxes WHERE \
                   (mailboxes.local_part='${quote_mysql:$local_part}' OR \
           '${quote_mysql:$local_part}' LIKE CONCAT(mailboxes.local_part, '+', '%')) AND \
                   mailboxes.active=1 AND \
                   mailboxes.domain_id=domains.id AND \
                   domains.fqdn='${quote_mysql:$domain}' AND \
                   domains.active=1}{yes}{no}}
     transport = dovecot_delivery

Transport:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
### transport/30_exim4-config_dovecot
#################################
#
dovecot_delivery:
     driver = appendfile
     maildir_format = true
     directory = /var/spool/mail/$domain/$local_part
     create_directory = true
     directory_mode = 0770
     mode_fail_narrower = false
     message_prefix =
     message_suffix = 
     delivery_date_add
     envelope_to_add
     return_path_add
     user = mail
     group = mail
     mode = 0660

Geen echt rare dingen dus volgens mij.
DKIM is ingesteld en zou moeten werken volgens mij, maar volgens www.mail-tester.com doet ie het niet. Kan dit een reden zijn?
000_localmacros:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DKIM_CANON = relaxed
DKIM_SELECTOR = 20151102

# Get the domain from the outgoing mail.
DKIM_DOMAIN = ${quote_mysql:$domain}

# The file is based on the outgoing domain-name in the from-header.
DKIM_FILE = /etc/exim4/dkim/{DKIM_DOMAIN}.private.pem

# If key exists then use it, if not don't.
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}

# Check if domains exist
MAIN_LOCAL_DOMAINS = localhost:${lookup mysql{SELECT fqdn AS domain FROM domains WHERE fqdn='${quote_mysql:$domain}' AND type='local' AND active=1}}:@:${lookup mysql{SELECT domain_aliases.alias_fqdn AS domain FROM domain_aliases,domains WHERE domain_aliases.alias_fqdn='${quote_mysql:$domain}' AND domain_aliases.id=domains.id AND domain_aliases.active=1}}


En de bijbehorende DNS TXT-records:
SPF:
code:
1
"v=spf1 a mx ip4:86.84.49.107 ~all"

20151102._domainkey.[domein]:
code:
1
"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLKoisPaCyzNTZ53J+gbk2U5lqfptmqz1eJAhHSJFogpkgnZHt7avrAxsWr2iqYh7Q8pZU9YKxGu6HPnnI34ezvZJ+Pr8MI5q3SsIcz4pG7L2LqcXYwSR4ZAzROvMpn0cpG2k+km4XbmcP3pKIvMfHEQOM0fDihEOeIO1IRt1UFwIDAQAB"

_dmarc.[domein]
code:
1
"v=DMARC1; p=quarantine; adkim=r;fo=1; rua=mailto:postmaster@[domein]"

_domainkey.[domein]
code:
1
"o=~"


Edit: DKIM is het probleem niet. Ik heb zojuist de code aangepast dat het een vast domein en key is en daarmee werd hij wel gevalideerd, maar de QT was nog steeds even lang.

Edit2: Firewall tijdelijk uit gezet en ook dat is het probleem niet.

[ Voor 4% gewijzigd door Paultje3181 op 30-01-2016 22:04 ]


Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Waar merk je precies een vertraging aan? Alles wat je hierboven post gaat over het lokaal deliveren van inkomende mail…

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 12:17
CyBeR schreef op zaterdag 30 januari 2016 @ 22:08:
Waar merk je precies een vertraging aan? Alles wat je hierboven post gaat over het lokaal deliveren van inkomende mail…
Als ik een mail schrijf en ik verstuurd hem, duurt het 15 sec. waarop email verzenden staat.

Hetzelfde bij het Perl script wat ik gebruik...

Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Hoe werkt dat script? Wat staat er in de log waardoor je de ident timeout verdenkt? Stuur je die mails naar lokale adressen of op 't internet?

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 12:17
Perl:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
toLog("Open Net-SMTP");                                
                                $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\@[domein]");
                                # $smtps->to($email_ontvanger);
                                $smtps->to($email_ontvanger);
                                # my $de_email =  Email::Stuffer->to($email_ontvanger)
toLog("Maak mail");
                                my $de_email =  Email::Stuffer->to($email_ontvanger)
                                                ->from("$valid_sender <noreply\@[domein]>")
                                                ->subject($message_afzender)
                                                ->text_body($message_to_send)
                                                ->as_string;
                                $smtps->data("$de_email\n\n");
                                $smtps->quit();
toLog("Mail verstuurd");

Het stuk waarop hij hangt. Tussen maak mail en Mail verstuurd zit 15 seconden.

De ident kwam ik tegen in de mainlog en op internet als mogelijke oorzaken. Maar verder weinig nuttigs... De mails gaan het hele net over ;)

Acties:
  • 0 Henk 'm!

  • Sendy
  • Registratie: September 2001
  • Niet online
Met die ident setting probeert Exim te achterhalen wie de e-mail gestuurd heeft. Dat is de username op de machine die de e-mail stuurt. Dat dat tegenwoordig niet meer "werkt" is duidelijk.

De default Exim configuratie file heeft die waarde op 0s, dus waar jouw default vandaan komt is onduidelijk. Zet 't gewoon uit en reload Exim configuratie.

http://www.exim.org/exim-...t_configuration_file.html

[ Voor 12% gewijzigd door Sendy op 31-01-2016 00:39 ]


Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Paultje3181 schreef op zondag 31 januari 2016 @ 00:28:
Perl:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
toLog("Open Net-SMTP");                                
                                $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\@[domein]");
                                # $smtps->to($email_ontvanger);
                                $smtps->to($email_ontvanger);
                                # my $de_email =  Email::Stuffer->to($email_ontvanger)
toLog("Maak mail");
                                my $de_email =  Email::Stuffer->to($email_ontvanger)
                                                ->from("$valid_sender <noreply\@[domein]>")
                                                ->subject($message_afzender)
                                                ->text_body($message_to_send)
                                                ->as_string;
                                $smtps->data("$de_email\n\n");
                                $smtps->quit();
toLog("Mail verstuurd");

Het stuk waarop hij hangt. Tussen maak mail en Mail verstuurd zit 15 seconden.

De ident kwam ik tegen in de mainlog en op internet als mogelijke oorzaken. Maar verder weinig nuttigs... De mails gaan het hele net over ;)
Right. Je praat iig met smtp tegen exim dus je zou gewoon exim moeten laten kunnen queuen. Dan is 't idd exim die ergens op blijft hangen met een timeout (en niet remote servers waar je last van zou hebben als je via de sendmail-interface zou mailen bijvoorbeeld.)

Wat exim doet met je mail kun je zien door zelf even een SMTP conversatie te beginnen met 'exim -bhc 1.2.3.4', waar '1.2.3.4' het IP-adres is wat exim van je ziet. (Als $server dus localhost is, dan 127.0.0.1.) Als dat 't niet al duidelijk maakt kun je ook nog -d 9 geven voor debuginfo.

(Overigens als 't werkelijk rfc1413 is wordt nou net díe overgeslagen bij die methode maar ik denk eigenlijk dat dat 'm niet is.)

[ Voor 4% gewijzigd door CyBeR op 31-01-2016 01:00 ]

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 12:17
Exim -bhc geeft een snelle verbinding.

Ik heb ook om te testen extra geheugen bijgeplaatst op de vps om dit uit te sluiten. En dat is het dus ook niet.

Probleem gevonden:
Het is een bug in SpamAssassin.
Hier staat een patch, maar ik begrijp niet helemaal wat ik er mee moet en of het een workaround is of echt een oplossing.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7223

[ Voor 37% gewijzigd door Paultje3181 op 01-02-2016 10:58 ]


Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 12:17
Na vandaag het e.e.a. getest te hebben, lijkt dit het toch ook niet helemaal te zijn. Het probleem ligt echter wel in spamassassin, en om beter te zijn: in Pyzor. Op het moment dat ik in /etc/mail/spamassassin/v310.pre
loadplugin Mail::SpamAssassin::Plugin::Pyzor uitcomment, werkt het script volledig naar behoren.

Ik heb vervolgens via https://wiki.apache.org/spamassassin/UsingPyzor de servers in /etc/mail/spamassassin gezet en het werkt nu naar behoren!
Pagina: 1