phonegap提交表单,如何发送到我的电子邮箱

时间:2014-09-19 11:00:53

标签: forms cordova

我正在构建简单的phonegap android app。

我制作简单的html表单,输入字段很少(姓名,姓氏,问题)。 当用户填写输入字段(姓名,姓氏,问题)并单击“提交”以发送到我的电子邮件地址时,我希望这样。就是这样。

你知道如何用phonegap做到这一点吗?

谢谢

3 个答案:

答案 0 :(得分:1)

你可以使用php或.net(作为你的选择)和AJAX Call轻松完成 只需创建一个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 = "youremail@id.com";
        $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

电子邮件Compo的GIT链接

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

答案 1 :(得分:1)

您可以对 Android 使用 Cordova EmailComposer插件 。在提交按钮单击上添加此功能。安装时请遵循以下步骤。

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

答案 2 :(得分:0)

有插件可以撰写电子邮件,但它不会自动发送。您确实需要使用后端服务来为您处理此问题。您可以使用任何应用程序语言(PHP,ColdFusion等)设置自己的应用程序,也可以考虑像WuFoo这样的服务。