it-swarm.it

Server SMTP in uscita leggero

Cosa usi come SMTP leggero solo per le e-mail in uscita?

Sto eseguendo un'app che invia e-mail tramite SMTP quando si verificano eventi di tanto in tanto e non ho bisogno di un server di posta completo.

EDIT: Sono più che felice di usare qualcosa come Postfix (e fare), se questa è la scelta migliore. Stavo pensando che potrebbe esserci qualcosa di molto più semplice, che finisce fuori dagli schemi.

49
FlappySocks

Esistono diverse opzioni di agenti di trasferimento della posta minimi (MTA o "mail server") minimi, solo alcuni dei quali sono stati citati in altre risposte:

Affinché uno di questi funzioni, è necessario un MTA completo da qualche parte che inoltri ulteriormente i tuoi messaggi (noto come "hub di posta") ed è fortemente consigliato controllare questo hub di posta. Le cose cattive possono accadere diversamente.

24
user601

IMHO, il modo più semplice per farlo è con Postfix. È possibile configurarlo come un relè in uscita leggero con questi comandi:

postconf -e relayhost=other.mailserver.com
postconf -e myorigin=my.domainname.com

Finché il server SMTP specificato in relayhost non richiede autenticazione, ti consente di inoltrare o è una destinazione valida per l'indirizzo del destinatario, questo funzionerà.

Il parametro myorigin sarà il nome di dominio predefinito. Quindi, se invii posta a foo, andrà a [email protected] La posta inviata dalla barra degli utenti verrà da [email protected]

Se è necessario eseguire l'autenticazione e si desidera supportare TLS, eseguire anche i seguenti comandi:

postconf -e smtp_tls_security_level=may
postconf -e smtp_sasl_auth_enable=yes
postconf -e smtp_sasl_password_maps=pcre:/etc/postfix/sasl_password_maps

Quindi in /etc/postfix/sasl_password_maps hanno questo contenuto:

/./ username:password

Tutta la posta verrà inviata al relayhost con il nome utente e la password specificati.

11
bahamat

Supponendo che abbiate bisogno di un programma che potete eseguire da Shell come sendmail (8), forse MSMTP soddisferà le vostre esigenze? Può connettersi a un server SMTP remoto e inviare la posta che riceve come stdin, proprio come sendmail.

ESMTP è un server di trasferimento della posta solo relay che può funzionare per la tua applicazione.

4
moberley

Puoi trovare sSMTP adatto alle tue esigenze. Leggi questo articolo su di esso e le sue limitazioni.

Onestamente, non sarei troppo stressato per l'installazione di postfix o exim, anche se è solo per l'invio di e-mail.

2
Evan

Se si utilizza la finestra mobile, https://hub.docker.com/r/zixia/simple-mail-forwarder/ è una buona scelta per una distribuzione semplice e solo di 10 MB, con smtp completo (tls ) supporto.

2
Huan

Tecnicamente non hai bisogno di un server di posta elettronica sul tuo Host, quello di cui hai bisogno (e probabilmente già lo hai) è un client smtp (o MUA) che può connettersi al tuo server SMTP aziendale (che potrebbe essere ovunque tu possa connetterti .)

A seconda dell'app (e del linguaggio di programmazione in cui è stata scritta) ci sono molti modi in cui la tua app può connettersi al "SMTP Server" sulla tua rete.

Di solito, con PHP o Python, c'è un file di configurazione con l'app per specificare il server "SMTP" (che può essere sul tuo host o altrove sulla tua rete.) Se hai già una mail server sulla rete, quindi punta semplicemente la configurazione su quel server.

Se non esistono altre opzioni, l'app può generare il messaggio di posta elettronica nell'output standard che è possibile elaborare con qualcosa del tipo:

listoftargets = "[email protected] [email protected]" echo "Contenuto del test" | mail -s "Test Subject" $ listoftargets

Su alcuni sistemi, esiste già un mailserver minimo per l'invio.

Sam T.

1
samt