2012-11-09 14 views
5

Ho provato così tanti approcci diversi, ma non riesco a inviare un EMail tramite SMTP in PHP utilizzando la funzione mail().Invio di un messaggio di posta elettronica utilizzando Wordpress

<?php 
require_once ABSPATH . WPINC . '/class-phpmailer.php'; 
require_once ABSPATH . WPINC . '/class-smtp.php'; 
$phpmailer = new PHPMailer(); 
$phpmailer->SMTPAuth = true; 
$phpmailer->Username = '[email protected]'; 
$phpmailer->Password = 'password01'; 
  
$phpmailer->IsSMTP(); // telling the class to use SMTP 
$phpmailer->Host       = "mail.asselsolutions.com"; // SMTP server 
$phpmailer->FromName   = $_POST[your_email]; 
$phpmailer->Subject    = $_POST[your_subject]; 
$phpmailer->Body       = $_POST[your_message];                      //HTML Body 
$phpmailer->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test 
$phpmailer->WordWrap   = 50; // set word wrap 
$phpmailer->MsgHTML($_POST[your_message]); 
$phpmailer->AddAddress('[email protected]/files/', 'Wordpress support'); 
//$phpmailer->AddAttachment("images/phpmailer.gif");             // attachment 
if(!$phpmailer->Send()) { 
 echo "Mailer Error: " . $phpmailer->ErrorInfo; 
} else { 
 echo "Message sent!"; 
} 
$to = $_REQUEST['to']; 
$subject = $_REQUEST['subject']; 
$message = $_REQUEST['message']; 
$from = $_REQUEST['from']; 
$headers = "From:" . $from; 

$mail = mail($to,$subject,$message,$headers); 

echo "Mail Sent."; 
?> 

Cosa sto sbagliando? Sto ottenendo il seguente errore:

Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\wp-vtr\wp-content\themes\twentyeleven\content.php on line 8

$phpmailer->IsSMTP(); // telling the class to use SMTP" 
+1

Il tuo messaggio di errore non è completo, manca il numero di riga. Vai a quel numero di linea e dicci qual è il codice nelle righe precedenti. L'errore è lì. – Jocelyn

+0

ho aggiornato il mio codice, l'errore è in linea no 8 lo chk ora – user1811549

+0

Anche se il codice che hai postato non è perfetto, non vedo alcun errore grave che potrebbe portare a un errore di analisi. È davvero il codice di 'content.php' che hai postato? – Jocelyn

risposta

1

questo:

$phpmailer->FromName = $_POST[your_email]; 
$phpmailer->Subject = $_POST[your_subject]; 
$phpmailer->Body  = $_POST[your_message]; 

$phpmailer->MsgHTML($_POST[your_message]); 

dovrebbe essere questo:

$phpmailer->FromName = $_POST['your_email']; 
$phpmailer->Subject = $_POST['your_subject']; 
$phpmailer->Body  = $_POST['your_message']; 

$phpmailer->MsgHTML($_POST['your_message']); 

ogni caso, sembra che si sta tentando di inviare una e-mail entrambi tramite la funzione PHP nativa di PHPMailer class e mail(). Potresti provare solo, ma non sono sicuro di cosa stai provando a fare.

+0

dopo l'applicazione di virgolette singole in your_message, lo stesso errore del precedente si verifica – user1811549

+0

plz dimmi come posso inviare la posta usando smtp tramite la classe PHPMailer o la funzione mail() – user1811549

+0

@digitalis Hai ragione riguardo le virgolette mancanti, ma questo non è vero la causa dell'errore di analisi. Una virgoletta singola mancante attorno a un tasto dell'array causa un avviso o un avviso, non un errore. – Jocelyn

Problemi correlati