2016-02-28 24 views
0

我想從我的離子應用程序使用Ajax調用發送電子郵件到我上傳到我的服務器上的php代碼。如何在不使用電子郵件編輯器插件的情況下從離子應用程序發送電子郵件?

代碼Ajax調用:

$scope.forget = function(){ 

     $http({ 

     method: 'POST', 

     url: 'server_name/mail.php', 

     data: { mailTo: '[email protected]', msg: 'hello!', sub: 'hey' } 
     }).then(function successCallback(response) { 

      alert(response.value+"msg sent!"); 
     }, 
     function errorCallback(response) { 

      alert(response.value+"error with sending msg"); 
     }); 
    }; 

mail.php

<?php 
    $_SERVER["PHP_SELF"]; 
    $to = $_POST["mailTo"]; 
    $txt = $_POST["msg"]; 
    $subject = $_POST["sub"]; 
    $headers = "From: [email protected]"; 
    echo $subject; 
    $flgchk = mail ($to, $subject, $txt, $headers); 

    echo $flgchk; 
    if($flgchk){ 

     echo "<script>alert('Thank you for submiting your Details..!')</script>"; 
    } 
    else{ 

     echo "<script>alert('Error Occured Please Resend Details..!')</script>"; 
    } 

?> 

,但我無法發送的細節。它是進入錯誤回調響應並顯示錯誤與發送味精。我可以幫助我嗎?或者是否有其他方法可以發送電子郵件或點擊按鈕?謝謝!

+0

如果您嘗試從瀏覽器直接或從curl運行您的php腳本,發生了什麼? – arainone

+0

是的,我做了,它顯示相同的錯誤。(發送錯誤消息) –

+0

你的答案表明你應該修復你的PHP腳本,然後再嘗試從你的應用程序調用它 – arainone

回答

0

您是否嘗試將url的完整URL(包括HOST和協議)輸入到url屬性中? 我問,因爲它似乎你使用離子混合應用開發。

如果您的應用程序是混合移動應用程序或託管在另一個域中,請確保您的PHP服務器也啓用了CORS(跨源資源共享)。

將這2行放在您的PHP代碼中,這將允許您的服務器從跨域獲取請求。

+0

Sry,我不太瞭解php ..我可以告訴我如何啓用CORS? –

+0

答覆已更新。 –

相關問題