Nachdem ich mein Postfix für die Verwendung mit mysql Tabellen konfiguriert hatte, bekam ich auf einmal beinahe täglich mails, die den Text: "451 4.3.0 Error: queue file write error" und/oder: "Temporary lookup failure" enthielten:
Transcript of session follows.
Out: 220 mail.domain.tld ESMTP Postfix
In: EHLO [X.X.X.X]
Out: 250-mail.domain.tld
Out: 250-PIPELINING
Out: 250-SIZE 10240000
Out: 250-VRFY
Out: 250-ETRN
Out: 250-AUTH PLAIN LOGIN
Out: 250-AUTH=PLAIN LOGIN
Out: 250-ENHANCEDSTATUSCODES
Out: 250-8BITMIME
Out: 250 DSN
In: AUTH PLAIN XXXXXXXXXXXXXXXXXXXXXXX
Out: 235 2.0.0 Authentication successful
In: MAIL FROM:<sender@example.org> SIZE=1037
Out: 250 2.1.0 Ok
In: RCPT TO:<empfaenger@example.org>
Out: 250 2.1.5 Ok
In: DATA
Out: 354 End data with <CR><LF>.<CR><LF>
Out: 451 4.3.0 Error: queue file write error
Session aborted, reason: lost connection |
Transcript of session follows.
Out: 220 mail.domain.tld ESMTP Postfix
In: EHLO [X.X.X.X]
Out: 250-mail.domain.tld
Out: 250-PIPELINING
Out: 250-SIZE 10240000
Out: 250-VRFY
Out: 250-ETRN
Out: 250-AUTH PLAIN LOGIN
Out: 250-AUTH=PLAIN LOGIN
Out: 250-ENHANCEDSTATUSCODES
Out: 250-8BITMIME
Out: 250 DSN
In: AUTH PLAIN XXXXXXXXXXXXXXXXXXXXXXX
Out: 235 2.0.0 Authentication successful
In: MAIL FROM:<sender@example.org> SIZE=1037
Out: 250 2.1.0 Ok
In: RCPT TO:<empfaenger@example.org>
Out: 250 2.1.5 Ok
In: DATA
Out: 354 End data with <CR><LF>.<CR><LF>
Out: 451 4.3.0 Error: queue file write error
Session aborted, reason: lost connection
Zwar schien alles zu funktionieren und die mails kamen auch immer noch rein, ich wollte jedoch der Meldung nachgehen.
Im maillog wurde ich dann fündig, denn folgende Fehlermeldung tauchte ziemlich oft auf:
warning: mysql query failed: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '= |
warning: mysql query failed: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=
Dies kam davon, weil ich die postfix Datenbank noch auf dem alten Server angelegt hatte und auf dem der Zeichensatz: latin1_swedish_ci standardmässig eingestellt war, beim neuen Server war jedoch UTF8 standard.
Das Problem kann man dann lösen, wenn man die Postfix Datenbank wie folgt konvertiert:
Login auf mysql:
dann für jede Tabelle:
ALTER TABLE tbl_name CHARACTER SET utf8 COLLATE utf8_general_ci; |
ALTER TABLE tbl_name CHARACTER SET utf8 COLLATE utf8_general_ci;
und für jedes Textfeld:
ALTER TABLE tbl_name MODIFY email varchar(255) CHARACTER SET utf8; |
ALTER TABLE tbl_name MODIFY email varchar(255) CHARACTER SET utf8;
Quelle