2012-11-09 21 views
5

Próbowałem już wielu różnych podejść, ale nie mogę skutecznie wysłać wiadomości e-mail przez SMTP w PHP przy użyciu funkcji mail().Wysyłanie wiadomości e-mail za pomocą WordPressa

<?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."; 
?> 

Co robię źle? Ja otrzymuję następujący błąd:

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

Twój komunikat o błędzie nie jest kompletny, brakuje numeru linii. Przejdź do tego numeru linii i powiedz nam, jaki jest kod w poprzednich liniach. Błąd jest tam. – Jocelyn

+0

Mam zaktualizowany mój kod, błąd jest w linii nr 8 plz chk to teraz – user1811549

+0

Mimo że kod, który wysłałeś nie jest doskonały, nie widzę żadnego poważnego błędu, który mógłby doprowadzić do błędu parsowania. Czy to naprawdę kod "content.php", który opublikowałeś? – Jocelyn

Odpowiedz

1

to:

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

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

powinno być tak:

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

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

W każdym razie wydaje się, próbujesz wysłać wiadomość e-mail zarówno przez PHPMailer klasy i mail() natywną funkcję PHP. Być może po prostu testujesz, ale nie jestem do końca pewien, co próbujesz zrobić.

+0

po zastosowaniu pojedynczych cudzysłowów w twojej_ wiadomości, ten sam błąd co poprzedni występuje – user1811549

+0

plz powiedz mi, jak mogę wysyłać pocztę za pomocą smtp albo poprzez klasę PHPMailer lub funkcję mail() – user1811549

+0

@digitalis Masz rację co do brakujących pojedynczych cudzysłowów, ale to naprawdę nie jest przyczyną błędu analizy. Brak pojedynczego cudzysłowu wokół klucza tablicy powoduje ostrzeżenie lub ostrzeżenie, a nie błąd. – Jocelyn

Powiązane problemy