2011-02-10 25 views

risposta

18

Sì, PHPMailer è una scelta molto buona.

Ad esempio, se si desidera, è possibile utilizzare il server SMTP googles gratuito (è come inviare dal proprio account Gmail.), Oppure è possibile saltare la parte smtp e inviarla come una tipica chiamata mail(), ma con tutte le intestazioni corrette ecc. Offre e-mail multipart, allegati.

Abbastanza facile da configurare.

<?php 

$mail = new PHPMailer(true); 

//Send mail using gmail 
if($send_using_gmail){ 
    $mail->IsSMTP(); // telling the class to use SMTP 
    $mail->SMTPAuth = true; // enable SMTP authentication 
    $mail->SMTPSecure = "ssl"; // sets the prefix to the servier 
    $mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server 
    $mail->Port = 465; // set the SMTP port for the GMAIL server 
    $mail->Username = "[email protected]"; // GMAIL username 
    $mail->Password = "your-gmail-password"; // GMAIL password 
} 

//Typical mail data 
$mail->AddAddress($email, $name); 
$mail->SetFrom($email_from, $name_from); 
$mail->Subject = "My Subject"; 
$mail->Body = "Mail contents"; 

try{ 
    $mail->Send(); 
    echo "Success!"; 
} catch(Exception $e){ 
    //Something went bad 
    echo "Fail - " . $mail->ErrorInfo; 
} 

?> 
+0

sto usando qualcosa del genere atm – dynamic

+0

Quindi ... questo usa SMTP e SSL? –

+0

@Sortofabeginner basta guardare il codice :) –

3

Senza SMTP, è possibile utilizzare la funzione PHP mail: http://php.net/manual/en/function.mail.php

bool posta (string $ a, string $ subject, string $ messaggio [, string $ additional_headers [, string $ additional_parameters]])

+2

Un consiglio: ricordarsi di convalidare qualsiasi informazione inviata dall'utente prima di inserirla nelle intestazioni, in modo che non possano inserire le proprie informazioni nelle intestazioni quando si utilizza 'mail'. –

1

È possibile utilizzare phpmailer per inviare utilizzando anche la funzione php mail() predefinita.

Suggerisco di non provare a fare le cose manualmente usando la funzione mail(), invece di usare phpmailer e configurarlo per usare mail().

Vorrei sottolineare che anche se non si utilizza una connessione SMTP per inviare le mail da soli, la funzione mail() utilizzerà una connessione SMTP o il programma sendmail del server per inviare comunque le e-mail , quindi dovrà essere configurato affinché funzioni correttamente.

Problemi correlati