Hvordan mailx finder SMTP-serveren og netværkskonfigurationens indflydelse

Hvordan finder mailx SMTP-serveren ved afsendelse af en mail, og afhænger det af, om PC'en har en offentlig IP-adresse eller er bag en NAT? Hvordan tjekkes mailx-indstillingerne på PC'en, og hvordan kan dette verificeres med tcpdump?

Mailx finder SMTP-serveren via konfigurationsfiler som /etc/mail.rc eller ~/.mailrc, og processen påvirkes ikke direkte af, om PC'en har en offentlig IP-adresse eller er bag en NAT, men netværkskonfigurationen kan påvirke forbindelsen.

Hvordan finder mailx SMTP-serveren ved afsendelse af en mail, og afhænger det af, om PC'en har en offentlig IP-adresse eller er bag en NAT?

Mailx finder SMTP-serveren ved at bruge de konfigurerede indstillinger i systemets mailkonfigurationsfiler. Disse indstillinger specificerer, hvilken SMTP-server der skal bruges til at sende e-mails. Processen afhænger ikke direkte af, om PC'en har en offentlig IP-adresse eller er bag en NAT, men netværkskonfigurationen kan påvirke forbindelsen til SMTP-serveren.

  • SMTP-serverens adresse og portnummer er typisk specificeret i konfigurationsfiler som /etc/mail.rc eller brugerens egen ~/.mailrc.
  • Hvis PC'en er bag en NAT, vil den lokale IP-adresse blive oversat til en offentlig IP-adresse af routeren, når den kommunikerer med SMTP-serveren.
  • En offentlig IP-adresse eller NAT påvirker ikke selve opsætningen af mailx, men kan påvirke netværksforbindelsen og firewall-regler.

Hvordan tjekkes mailx-indstillingerne på PC'en?

For at tjekke mailx-indstillingerne på PC'en, kan du se i konfigurationsfilerne eller bruge kommandoer til at vise de aktuelle indstillinger.

  1. Åbn konfigurationsfilen /etc/mail.rc eller ~/.mailrc i en teksteditor:
    nano /etc/mail.rc
    nano ~/.mailrc
  2. Se efter linjer, der starter med set eller setenv, som specificerer SMTP-serverindstillingerne:
    set smtp=smtp.example.com
    set smtp-auth-user=username
    set smtp-auth-password=password
  3. Du kan også bruge kommandoen mailx -v for at få en detaljeret output af mailx's handlinger, når du sender en mail:
    echo "Test mail" | mailx -v -s "Test Subject" [email protected]

Hvordan kan dette verificeres med tcpdump?

For at verificere mailx's kommunikation med SMTP-serveren kan du bruge tcpdump til at fange netværkstrafikken. Følg disse trin:

  1. Åbn en terminal og kør tcpdump for at fange trafik på port 25 (standard SMTP-port) eller den port, som din SMTP-server bruger:
    sudo tcpdump -i any port 25
    sudo tcpdump -i any port 587
  2. Send en testmail med mailx:
    echo "Test mail" | mailx -s "Test Subject" [email protected]
  3. Observer outputtet fra tcpdump for at se, om der er trafik mellem din PC og SMTP-serveren. Du bør se TCP SYN, ACK og data-pakker, der indikerer en SMTP-session.

Ved at følge disse trin kan du verificere, at mailx korrekt kommunikerer med SMTP-serveren og tjekke, om netværksforbindelsen fungerer som forventet.