2017-04-26 79 views
0

我想發送電子郵件與Phpmailer庫。這是非常基本的,但無法處理。phpmailer - ajax發送電子郵件參數不工作

這是我的javascript代碼。

function sendemail() { 
    var $adtext = $("#ad").val(); 
     var $gonderentext = $("#mail").val(); 
     var $mesajtext = $("#mesaj").val(); 
    $.ajax({ 

     url: '/mail.php', 
     type: 'post', 
     data:{action:'call_this', ad: $adtext, gonderen: $gonderentext, mesaj: $mesajtext}, 
     success:function(html) { 
     alert("İletişim mailiniz gönderildi."); 
     } 


    }); 

}

這裏是我的PHP文件(mail.php)

<?php 
include("class.phpmailer.php"); 
include("class.pop3.php"); 
include("class.smtp.php"); 
if($_POST['action'] == 'call_this') { 
SendMailWithGmailSMTP("[email protected]","İletişim Mail",$_POST['mesaj'],$_POST['mail']); 


}; 




function SendMailWithGmailSMTP($to,$subject,$text,$maill) 
{ 
$mail=new PHPMailer(); 
$mail->IsSMTP(); 
$mail->SMTPAuth=true; 
$mail->Host="ssl://pro06.ni.net.tr:465"; 
$mail->Username="[email protected]"; 
$mail->Password="xxx"; 
$mail->From=$maill; 
$mail->FromName=$text; 
$mail->CharSet="iso-8859-9"; 
$mail->AddAddress($to); 
$mail->Subject=$subject; 
$mail->IsHTML(true); 
$mail->Body=$text; 
if($mail->Send()) return true; 
else echo $mail->ErrorInfo; 

} 




?> 

能否請你幫我弄清楚什麼是錯的?提前致謝。祝你有個美好的夜晚。

+0

你得到'$ mail-> ErrorInfo;'這裏有什麼錯誤? –

+0

將代碼基於PHPMailer提供的示例;它看起來像你從別的地方使用過一些非常古老的代碼。 PHPMailer不慢,但SMTP可以。 – Synchro

回答

1

我相信,問題是你正在使用錯誤的PARAM作爲$_POST['mail']而不是$_POST['gonderen']您發送您的ajax後的數據

試着改變你的PHP一行:

SendMailWithGmailSMTP("[email protected]","İletişim Mail",$_POST['mesaj'],$_POST['gonderen']); 

而且,讓我知道你是否在這條線上有任何錯誤$mail->ErrorInfo;在這裏!

+0

嘗試過,仍然沒有壽。我沒有得到任何errorInfo回來。也許phpmailer有點慢? –

+1

嘗試'echo「if」;退出'和'回聲'其他';退出;'內部'如果'和'else'條件並讓我知道你的代碼在哪裏?此外,如果代碼正在執行'if',那麼請檢查您的電子郵件'垃圾郵件'以及 –

0

這是我的不好。與我的主機提供商聯繫,發現我使用的是錯誤的端口。感謝大家。