2014-10-07 4 views
1

Phpmailer에 문제가 있습니다. 어떤 이유로 그것은 메일 함수를 인스턴스화 할 수 없다고 말합니다. 그것은 From 및 Fromname 때문일 수 있습니까? 나는 PhpMailer에서 경험이 거의 없기 때문에 누군가 나를 도울 수 있다면 좋을 것입니다!메일 기능을 인스턴스화 할 수 없습니다. PhPmailer

<?php ob_start(); 
$naam= htmlspecialchars ($_REQUEST["nome"]); 
$telefoon= htmlspecialchars ($_REQUEST["telefone"]); 
$email= htmlspecialchars ($_REQUEST["email"]); 
$woonplaats= htmlspecialchars ($_REQUEST["cidade"]); 
$lengte= htmlspecialchars ($_REQUEST["altura"]); 
$gewicht= htmlspecialchars ($_REQUEST["peso"]); 
$streefgewicht= htmlspecialchars ($_REQUEST["ideal"]); 
$leeftijd= htmlspecialchars ($_REQUEST["idade"]); 
$hoe= htmlspecialchars ($_REQUEST["amigo"]); 
$kanaal= htmlspecialchars ($_REQUEST["canal"]); 
$commentaar= htmlspecialchars ($_REQUEST["comentario"]); 
$waarover= htmlspecialchars ($_REQUEST["escolha"]); 
//echo"$naam $telefoon $email $lengte $gewicht $streefgewicht $leeftijd $hoe $kanaal $commentaar  $waarover"; 
require("class.phpmailer.php"); 

$naamgeadresseerde = "Karin Klaver"; 
$emailadres = "[email protected]"; 

//verstuur nieuwsbrief 
$mail = new PHPMailer(); 

// Geef aan dat het een HTML mail betreft 
$mail->IsHTML(true); 

$mail->From = $emailadres; 
$mail->FromName = $naamgeadresseerde; 

$mail->AddAddress("$emailadres","$naamgeadresseerde"); 
$mail->AddCC("[email protected]", "K. Klaver"); 
$mail->AddBCC("[email protected]", "Mik Fetter"); 

$mail->Subject = "Reactie proefpakket4you.nl"; // Subject aanpassen 

// Alternatieve body 
$mail->AltBody = "Reactie proefpakket4you.nl"; 

$mail->Body = " 
Naam: $naam <br> 
Telefoonnummer: $telefoon <br> 
E-mail: $email <br> 
Lengte: $lengte <br> 
Gewicht: $gewicht <br> 
Streefgewicht: $streefgewicht <br> 
Leeftijd: $leeftijd <br> 
Hoe op deze site terechtgekomen (kennis): $hoe <br> 
Hoe op deze site terechtgekomen: $kanaal <br> 
Aanvullende opmerkingen: $commentaar <br> 
Meer info/ Proberen/Starten: $waarover<br> 

"; 

//$mail->WordWrap = 50; 

if(!$mail->Send()) 
{ 
echo 'Er ging iets mis tijdens het versturen'; 
echo $mail->ErrorInfo; 
}else 
     { 
//vervolgstap zetten 
echo"Goed gedaan"; 
header ("Location: http://www.proefpakket4you.nl/bedankt.php?naam=$naam"); 
     } 

?> 
+0

전체 오류 메시지를 표시 할 수 있습니까? –

답변

1

이 서버가 메일 서버가 설치 또는 구성, 또는 sendmail_path에 대한 php.ini의 설정이 잘못되었다는하지 않기 때문에 될 가능성이 높습니다. 명령 행에서

, 당신은 다음과 같은 메시지를 보낼 수 있습니다 :

echo 'test' | mail -s 'test' [email protected] 

을 그 PHP의 메일 기능 중 하나하지 않습니다 작동하지 않는 경우.

sendmail 경로가 잘못되어 있으면 ini 파일을 수정하거나 IsSendmail()으로 전환하고 스크립트의 경로를 제공 할 수 있습니다.

0

옵션을 추가 :

$phpmailer->IsSMTP(); 

나를 위해 더 신뢰할했다. 그냥 사용하는 경우

또한 그것은 청소기 될 것이다 : 또한 ("필요가 없습니다 사용에서 설정할 수 있습니다

$mail->IsHTML(true); 
$mail->Body = " 
Naam: $naam <br> 
Telefoonnummer: $telefoon <br> 
E-mail: $email <br> 
Lengte: $lengte <br> 
Gewicht: $gewicht <br> 
Streefgewicht: $streefgewicht <br> 
Leeftijd: $leeftijd <br> 
Hoe op deze site terechtgekomen (kennis): $hoe <br> 
Hoe op deze site terechtgekomen: $kanaal <br> 
Aanvullende opmerkingen: $commentaar <br> 
Meer info/ Proberen/Starten: $waarover<br>"; 

: 대신 HTML 문자열로 $의 몸

$mail->MsgHTML($body); 

따옴표 ") :

$mail->setFrom($emailadres, $naamgeadresseerde); 

로컬 메일 서버 또는 특정 서버를 사용하여 보내십니까? 당신 당신은 같은 필요가있는 경우 : 로컬 호스트에 대한

$mail->Host = '127.0.0.1'; 
$mail->Port = 25; 

를하거나 이메일 주소를 사용하여 보낼 로그인 정보를 제공해야 할 수도 있습니다 다른 서버, 예를 보내는 경우 :

$mail->SMTPSecure = "tls"; 
$mail->Host = 'smtp.microsoft365.com'; 
$mail->Port = 587; 
$mail->Username = 'username'; 
$mail->Password = 'password'; 

아니면 @ 싱크로가 말했던 것과 컴퓨터에 메일 서버를 설치하지 않았을 수도 있습니다 ....

관련 문제