2010-05-04 13:17:09 +0000 2010-05-04 13:17:09 +0000
31
31

Verstuurt mailx mail via een SMTP relay of maakt het direct verbinding met de SMTP server van het doel?

Stel dat ik een mail verstuur met het volgende commando:

mailx person@x.com

probeert mailx dan eerst de SMTP server van mijn ISP te achterhalen om de mail door te sturen of maakt hij direct verbinding. Hangt het ervan af of mijn PC een publiek IP adres heeft of dat hij achter een NAT staat. Hoe controleer ik de instellingen van mailx op mijn PC? Hoe kan ik dit verifiëren met tcpdump?

Antwoorden (4)

31
31
31
2010-12-06 16:37:44 +0000

mailx kan SMTP gebruiken. Het configureer bestand is ~/.mailrc

Een voorbeeld is mailx gebruikt Gmail’s SMTP .

De configure kan zelfs in één commando staan:

mailx -v -s "$EMAIL_SUBJECT" \
-S smtp-use-starttls \
-S ssl-verify=ignore \
-S smtp-auth=login \
-S smtp=smtp://smtp.gmail.com:587 \
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" \
-S smtp-auth-user=$FROM_EMAIL_ADDRESS \
-S smtp-auth-password=$EMAIL_ACCOUNT_PASSWORD \
-S ssl-verify=ignore \
-S nss-config-dir=~/.mozilla/firefox/xxxxxxxx.default/ \
$TO_EMAIL_ADDRESS

Als een normale SMTP-server wordt gebruikt, is het veel eenvoudiger (zie een gedetailleerde inleiding hier ):

Je kunt deze ook in het configuratiebestand ~/.mailrc van mailx zetten

29
29
29
2010-05-04 16:16:41 +0000

Traditioneel gebruiken Unix mail en afgeleiden (en vele andere Unix programma’s) de /usr/bin/sendmail interface, geleverd door bijna alle mail transfer agents (MTA’s - postfix, exim, courier, en natuurlijk sendmail).

Dat wil zeggen dat het mail programma geen netwerk protocol spreekt - het stuurt het bericht naar sendmail via stdin, en laat het de aflevering zelf afhandelen. (Dit gaat terug naar de dagen toen sommige mail SMTP gebruikte, sommige UUCP, sommige BITNET…)

Zodra een bericht door sendmail in een wachtrij is geplaatst, handelt de MTA de daadwerkelijke verzending van het bericht af, hetzij via SMTP, hetzij via iets anders. Afhankelijk van de configuratie kan de MTA direct verbinding maken met de MTA van bestemming, of mail doorsturen via een andere host (ook wel een smarthost genoemd).

Directe verbinding is gebruikelijker op servers; relay via smarthost is gebruikelijker op pc’s op thuisverbindingen - relay via je Gmail of ISP/werk e-mail account is essentieel om de algemene “dynamische IP” anti-spam filters te vermijden.

(Sommige MTA’s zoals esmtp of nullmailer zijn speciaal voor thuisgebruikers gebouwd en gebruiken altijd een relayhost. Deze ondersteunen het ontvangen van mail niet en zijn een stuk lichter qua bronnen).

mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → recipient MTA → recipient inbox
  • *

Andere programma’s, meestal de gebruikersvriendelijke grafische clients zoals Thunderbird of Outlook, maken altijd direct verbinding met een relay/smarthost SMTP server (wederom, meestal Gmail of ISP/werk SMTP server), die het bericht namens jou verzendt.

Native SMTP ondersteuning is aanwezig in heirloom-mailx, maar niet in de traditionele bsd-mailx.

mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox
  • *

De derde methode - direct verbinden met de server van de ontvanger - wordt bijna nooit gebruikt, en geen enkele MUA ondersteunt het. Op personal computers zou het gebruik ervan ertoe leiden dat je bericht geweigerd wordt (veel spam wordt verzonden vanaf geïnfecteerde IP-adressen van thuisgebruikers).

app → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox
3
3
3
2010-05-04 13:27:27 +0000

Van de mailx(1) man page, Beschrijving sectie, String opties subsectie:

smtp Normally, mailx invokes sendmail(8) directly to transfer
          messages. If the smtp variable is set, a SMTP connection
          to the server specified by the value of this variable is
          used instead.
1
1
1
2014-01-27 09:06:23 +0000

er is een alternatief zonder lokale mta zoals sendmail/postix.

debian package ssmtp

info van rpm beschrijving:

Summary : Extremely simple MTA to get mail off the system to a Mailhub
URL : http://packages.debian.org/stable/mail/ssmtp
License : GPLv2+
Description : A secure, effective and simple way of getting mail off a system to your mail
            : hub. It contains no suid-binaries or other dangerous things - no mail spool
            : to poke around in, and no daemons running in the background. Mail is simply
            : forwarded to the configured mailhost. Extremely easy configuration.

hth

Stefan K.