Domanda

Voglio inviare e-mail una tantum da un server Linux.Il server non ha bisogno di ricevere email in risposta.

Esiste una soluzione più semplice di sendmail per inviare solo e-mail in uscita?

Preferirei usare Perl per inviare l'e-mail.

È stato utile?

Soluzione

Sendmail non è l'unica scelta.puoi utilizzare Postfix, Qmail e molti altri

i miei script Perl chiamano il comando mailx.Per sapere come usarlo, digita "Man Mailx", tuttavia ciò richiede di configurare un MTA Correclty.

Oppure puoi semplicemente usare la libreria perl Net::SMTP e usare il tuo server SMTP preferito

Altri suggerimenti

chiamando a /usr/lib/sendmail è di solito il metodo preferito perché gestisce correttamente problemi di consegna. Questo non significa utilizzando sendmail . La maggior parte (tutti?) Sistema di trasporto di posta forniscono un comando che ha appena nome sendmail e fornisce un'interfaccia compatibile con l'originale.

In alternativa è possibile inviare direttamente attraverso un relè SMTP utilizzando un pacchetto come Net :: SMTP, ma essere più sicuri di soddisfare correttamente per problemi di consegna.

Ho usato msmtp con successo, vale a dire che supporta l'autenticazione grande

TJ Luoma ha fatto un interessante resoconto di esso su TUAW

Trovo nullmailer una soluzione molto utile per lo scenario descritto. Nullmailer è un / etc MTA sostituzione sendmail / qmail che trasmette ad un insieme fisso di server di posta. E 'molto semplice da configurare e consuma poche risorse.

Un importante vantaggio di nullmailer rispetto ad altre soluzioni menzionati come mstmp e ssmtp è che mantiene una coda di e-mail da inviare. L'applicazione di inviare la posta viene bloccato solo un tempo molto breve, mentre la posta si accoda (millisecondi). L'invio della posta avviene nel contesto di un altro processo. Soluzioni come mstmp e ssmtp non mantengono una coda di posta elettronica. L'invio avviene nel contesto dell'applicazione, bloccando così l'applicazione. L'invio di una e-mail in questo modo può facilmente prendere da 1 a 2 secondi o più. Questo potrebbe non essere un problema, in molti casi, ma può diventare un problema se il messaggio viene inviato da un'applicazione web.

http://untroubled.org/nullmailer/

Non hai bisogno di un agente di trasporto di posta (MTA) istanza sulla macchina facendo l'invio se si dispone di un altro server di posta già in esecuzione nella propria organizzazione: si può fare Perl consegnare la posta tramite SMTP al server, quindi non c'è bisogno di avendo (un altro) MTA come sendmail su "vostra" macchina.

Sono appassionato di creare un Gmail o altri account gratuito e quindi utilizzando la posta Java API in J2EE per inviare messaggi (dal tuo nuovo account Gmail) a chi ... In genere creerò una classe Mailer, che può essere costruito con un costruttore di default e poi dargli un invio (String dest, String subj, corpo String [, Obj allegare ... se vuoi]) e poi nel vostro caso si potrebbe avvolgere la cosa in un metodo principale in modo che si può chiamare da altro con alcuni argomenti della riga di comando, oppure chiamare dall'interno di qualche programma Java. Se sei interessato ti sparo il codice.

So che hai detto Perl, ma la più semplice libreria di invio di posta elettronica multi-piattaforma che ho usato è python di smtplib . Sicuramente vale la pena dare un'occhiata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top