Domanda

Sto eseguendo un server Apache con PHP. Fino ad ora, le e -mail agli utenti sono state inviate da questo server Apache utilizzando PHP mail() funzione.

Per ottimizzare questa struttura, vorrei separare la parte e -mail su un server separato (eseguendo Qmail esclusivamente).

Ora che il server Apache non ha più alcun software di posta elettronica, qual è il modo migliore per fargli inviare e -mail (cioè inviare il contenuto e -mail al nuovo server di posta)? Per quanto ne so, PHP mail() La funzione non è adatta a inviare posta da un server separato.

Grazie

È stato utile?

Soluzione

Swiftmailer è probabilmente il miglior framework di posta per PHP. Puoi usarlo per fare quello che vuoi.

Altri suggerimenti

Consiglio di usare una classe wrapper per inviare*Indipendentemente il testo enfatizzato*Indipendente dal sottosistema.

Swiftmailer Ad esempio fa un buon lavoro.

È possibile creare un servizio web nella lingua di tua scelta (probabilmente PHP) e definire un'interfaccia esatta per l'invio della posta. Un semplice prototipo sarebbe:

public function sendMail( string from, array to, subject, body, whatnot )

È quindi possibile esporre quel servizio tramite EG PHP SOAP (se si utilizza PHP). Puoi davvero usare qualsiasi tecnologia sul lato WebService per inviare la posta.

Forse vuoi che quel servizio restituisca un ID postale o uno stato di successo in modo da sapere se ha funzionato ...

Un'altra cosa: il cliente assomigliabbe a questo:

require_once "SOAP/Client.php"; 
// SOAP/WSDL 
$sw = new SOAP_WSDL ("http://example.com/mailserver.php?wsdl"); 

// Proxy-Obj. 
$proxy = $sw->getProxy (); 

// servicemthod 
$erg = $proxy->sendMail ("me@example.com", array of recps, etc ); 

// return 
print $erg."\n";

Di seguito è riportato un buon esempio di utilizzo delle connessioni SMTP da PHP:http://www.9lessons.info/2009/10/send-mail-using-smtp- ephp.html

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