2015-04-15 34 views
0

我有一個iOS cordova Webapp和PHP的小問題。下面的代碼工作完全電腦(XAMPP)上:SMTP電子郵件不在iPhone上發送cordova WebApp,在瀏覽器中工作?

<?php 
require 'lib/sendMail.php'; 
require '../php/PHPMailerAutoload.php'; 
$mail = new PHPMailer; 
$sendMail = new sendMail(); 


$mail->isSMTP();          
$mail->Host = 'smtp.gmail.com'; 
$mail->SMTPAuth = true;        
$mail->Username = '[email protected]';    
$mail->Password = 'expw';      
$mail->SMTPSecure = 'tls';       
$mail->Port = 587;          

$mail->From = '[email protected]'; 
$mail->FromName = 'Mailer'; 
$mail->addAddress($_POST['termin']['cityemail']); 

$mail->isHTML(true);         

$mail->Subject = 'ex'; 
$mail->Body = $sendMail->getMessage($_POST); 
$mail->AltBody = $sendMail->getMessage($_POST); 

if(!$mail->send()) { 
    print 'Message could not be sent.'; 
    print 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    print 'Message has been sent'; 
} 

?> 

注:我使用的PHPMailer通過手機發送郵件。

問題是,手機會發瘋。 「 - >」之後的所有內容都被忽略了。這是提交表單後屏幕的外觀: screen from iPhone

這是怎麼發生的?該電子郵件正在瀏覽器上成功發送。

該設備是iOS 5的iPhone 5S 16GB。

+1

我不知道你問這裏是什麼,它是PHP和運行的Web服務器上,而不是在瀏覽器中,也不在iPhone上。 – jeroen

+0

也許應該補充說它是關於一個iOS Web應用程序 –

+0

您正在Safari瀏覽器中打開此頁面嗎? – Diptesh

回答

0

好吧我有一個工作解決方案。簡單地把你的PHP文件放在服務器上,用type =「post」做一個ajax調用,然後你就可以開始了。下面的示例代碼(我使用jQuery驗證插件):

$("#Formular").validate({ 
     submitHandler: function(form) { 
      var dataString = $(form).serialize(); 
      $.ajax(
      { 
       url : 'http://yoururl.de/file.php', 
       type: "POST", 
       data : dataString, 
       success:function(data, textStatus, jqXHR) 
       { 
        $('body').html(data); 
       } 
      }); 
     }, 
     rules: { 
      'phone': { 
       required: false, 
       phoneDE: true 
      } 
     }, 
     messages: { 
      'phone': { 
       required: "Bitte gültige Telefonnummer eingeben" 
      } 
     } 
    });