Använda SMTP- och SASL med Postfix när din ISP kommer inte att vidarebefordra (5 / 5 steg)
Steg 5: Felsökningstips
mailq
Gör omfattande användning av verktyget mailq. Det är ett kommando du kan skriva i Kommandotolken, och det kommer att berätta om mail sitter på postfix kö väntar på att skickas, och status för e-post. I allmänhet du mail kön vara tom. Om den inte är tom, sedan finns brukar det problem. De felmeddelanden som du ser kan vara användbara vid felsökning av ditt problem. Till exempel, kommer att det berätta om du hade tillstånd fel, eller om du har ett relä problem.
Ditt system stock är din vän. Om mailq visar mail inte är att få, men är inte tillräckligt tydlig varför, kolla /var/log/maillog eller /var/log/mail.log med din favorit texteditor, eller av
tail -f /var/log/mail.log
(Använd ctrl-c för att avsluta en tail -f session). Här kommer du att kunna visa mer detaljerade felmeddelanden, till exempel denna pärla:
7 aug 09:57:27 excelsior postfix/qmgr [639]: Varning: ansluta för att transportera esmtp: ingen sådan fil eller katalog
(Detta slutade att vara ett stavfel i min main.cf fil, där jag hade default_transport inställt på esmtp som olyckan. ändra den SMTP fast allt.)
Telnet är ett praktiskt verktyg. Jag har redan berättat om hur till telnet en e-postserver, här är några andra användbara kommandon du kan använda om saker inte fungerar.
EHLO - visar som nämnts, funktionerna i mailservern. Dessutom bör alltid utfärdas när du först loggar in på, det är hur du säger "Hej" till e-postservern.
HELO subdomain.domain.com - också säger Hej till e-postservern, men e-postservern berätta inte sin konfiguration. Du bör använda din egen hostname här, men är inte skyldiga att.
AUTH - börjar processen för godkännandet, som vi använder SMTP/SASL för att hantera för oss. Detta är ett bra sätt att felsöka om något gick fel i din config. AUTH är emellertid inte intuitivt att använda. Du kommer att få ett svar som ser ut som rent nonsens, men servern är att be om ditt användarnamn, i base64-kodning. Du måste svara i gillar. Om du inte vet base64 enter-kodning av ditt användar-ID eller registrering information, använda en Base64-konverterare att översätta det, kopiera/klistra in strängen i telnet session och tryck. Servern kommer att svara, och sedan förväntar sig lösenordet base-64-kodad. Skicka den med hjälp av samma process.
Detta är hur du kan hitta om din e-post inte är att komma ut på grund av ett tillstånd.
MAIL från: email - startar processen med att skicka ett mail. Svar skulle vara OK.
RCPT TO: mottagaren - måste följa MAIL från: kommando, och du borde få OK som ett svar. Om inte, felmeddelandet kommer sannolikt något om reläet inte är tillåtna. Vi visste väl, att detta är vad vi försöker åtgärda.
DATA - startar processen med att skicka ett mail, men egentligen om du får detta långt, detta är inte det bästa sättet att felsöka problemet.
AVSLUTA - självklart stänger SMTP-anslutningen.