2014-09-19 69 views
1

我正在建設簡單的phonegap android應用程序。phonegap提交表格,如何發送到我的電子郵件

我做了很少輸入字段(名稱,姓氏,問題)的簡單的HTML表單。 我希望當用戶填寫輸入字段(名稱,姓氏,問題)並點擊提交發送到我的電子郵件地址。只是。

你有什麼想法如何用phonegap做到這一點?

謝謝

回答

0

有插件撰寫電子郵件,但它不會自動發送。您確實需要使用後端服務來爲您處理此問題。您可以使用任何應用程序語言(PHP,ColdFusion等)設置自己的設置,或者考慮使用像WuFoo這樣的服務。

1

您可以輕鬆地通過使用php或.net(作爲您的選擇)與AJAX呼叫 只需創建一個HTML頁面,它向用戶顯示填寫數據併發送給用戶的表單。

在這裏,我看到了你,我如何與PHP做(使用PHPMailer的更多信息,請訪問:http://phpmailer.worxware.com/index.php?pg=examplebmail

HTML表單

<!DOCTYPE html> 
    <html> 
     <head> 
      <title></title> 
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
      <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.js"></script> 
     </head> 
     <body> 
      <form action="#!" method="post"> 
       <input type = "text" name="cname" /> 
       <input type = "number" name="cnumber" /> 
       <input type = "email" name="cemail" /> 

       <input type = "submit" value="Submit" onclick="UpdateRecord()" /> 
      </form> 
      <script> 
       function UpdateRecord() 
        { 
         // Social Links 
         GolbalURL = "http://www.yourserverpathtophpfile.com"; 

         var cname = $("[name='cname']").val(); 
         var cnumber = $("[name='cnumber']").val(); 
         var cemail = $("[name='cemail']").val(); 

         jQuery.ajax({ 
         type: "POST", 
         url: GolbalURL+"sendemail.php", 

         data: "cname="+ cname+"& cnumber="+ cnumber+"& cemail="+ cemail, 
         dataType: "html",  
         cache: false, 
         success: function(response) 
         { 
         alert("Email Sent"); 
         } 
        }); 
       } 
      </script> 
     </body> 
    </html> 

Sendmail.php

<?php 
     $cname = $_REQUEST['cname']; 
     $cnumber = $_REQUEST['cnumber']; 
     $cemail = $_REQUEST['cemail']; 

     require_once('class.phpmailer.php'); 

     $mail = new PHPMailer(); // defaults to using php "mail()" 


     $body = "Name : ".$cname."Number : ".$cnumber."Email : ".$cemail; 


     $mail->SetFrom($cemail, $cname); 

     $address = "[email protected]"; 
     $mail->AddAddress($address, "Your Name"); 

     $mail->Subject = "Your Subject"; 

     $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test 

     $mail->MsgHTML($body); 


     if(!$mail->Send()) { 
      echo "Mailer Error: " . $mail->ErrorInfo; 
     } else { 
      echo "Message sent!"; 
     } 
    ?> 

不要忘了將你的動態文件上傳到服務器並授予它權限。或者您也可以通過代碼調用設備的默認郵件應用程序,請參閱PHONEGAP EMAIL COMPOSER

GIT鏈接電子郵件Compo。

https://github.com/katzer/cordova-plugin-email-composer/blob/172605ee12e58d5e5809e4e031b3b96cead143ac/README.md

+0

很好的例子Shivam,謝謝。但我有問題與CORS。你在jsonp中有這個例子嗎?我嘗試在我的php文件中啓用corse,但總是說跨源請求被阻止。所以如果你有jsonp的例子,它會很棒。謝謝。 – user3788491 2014-09-19 21:40:49

+0

@ user3788491當我在瀏覽器中嘗試時遇到同樣的錯誤,但是在啓動瀏覽器之後,通過禁用安全性,它可以工作,並且對於JSONP,我將嘗試檢查示例並儘快給您回覆 – 2014-09-20 07:38:38

+0

Hello Shivam。如果你有時間,用jasonp發送例子會很棒。非常感謝你。 – user3788491 2014-09-21 20:17:06

1

你可以使用科爾多瓦EmailComposer插件的Android。點擊提交按鈕後添加此功能。安裝請按照下列步驟操作。

https://github.com/katzer/cordova-plugin-email-composer

function emailComposer(){  

    window.plugin.email.isServiceAvailable(
    function (isAvailable) { 
     if(isAvailable){ 
      window.plugin.email.open({ 
       to:  [''], 
       cc:  [''], 
       bcc:  [''], 
       subject: '', 
       body: '' 
      });   
     }else{ 
      alert('Service is not available'); 
     } 
    } 
); 

} 


**JQUERY - CALL PHP SCRIPT TO POST DATA** 

var ajax_call = serviceURL; 
var form_data = $('#form').serialize(); 
$.ajax({ 
    type: "POST", 
    url: ajax_call, 
    data: form_data, 
    dataType: "json", 
    success: function(response) { 
    //called when successful 

    }, 
    error: function(e) { 
     //called when there is an error 
    //console.log(e.message); 
    } 
}); 

Examples

+0

我讀了jsonp無法發送post請求。我怎樣才能從我的表單發送數據到我的服務器。我正在構建phonegap應用程序,所以我需要啓用跨源策略。謝謝。 – user3788491 2014-09-20 06:43:30