我正在构建简单的phonegap android app。
我制作简单的html表单,输入字段很少(姓名,姓氏,问题)。 当用户填写输入字段(姓名,姓氏,问题)并单击“提交”以发送到我的电子邮件地址时,我希望这样。就是这样。
你知道如何用phonegap做到这一点吗?
谢谢
答案 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链接
答案 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);
}
});
答案 2 :(得分:0)
有插件可以撰写电子邮件,但它不会自动发送。您确实需要使用后端服务来为您处理此问题。您可以使用任何应用程序语言(PHP,ColdFusion等)设置自己的应用程序,也可以考虑像WuFoo这样的服务。