我正在使用 javascript 尝试发送包含 HTML 或附件的电子邮件,但这对于 mailto: 是不可能的。所以现在我需要一些其他方式来通过电子邮件发送 HTML 或附件。我发现了phonegap的这个电子邮件编辑器插件,它应该可以像我需要的那样工作,但它根本不会打开电子邮件应用程序,也不会打开您可以选择电子邮件应用程序的提示窗口。
document.addEventListener('deviceready', function () {
cordova.plugins.email.isAvailable(
function (isAvailable) {
window.plugin.email.open({
to: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2c58495f586c58495f58024f4341" rel="noreferrer noopener nofollow">[email protected]</a>',
subject: 'Greetings',
body: 'How are you? Nice greetings from Leipzig'
}, callback, scope);
}
);
}, false);
function callback(){
console.log("callback function");
}
function scope(){
console.log("scope function");
}
最佳答案
确保以下事项:
1。将插件添加到您的项目:
使用命令行导航到您的项目文件夹并运行以下命令:
cordova plugin add https://github.com/katzer/cordova-plugin-email-composer.git
.
2。使用模拟器或设备进行测试:
大多数 Cordova 插件无法使用网络浏览器进行测试,并且需要设备或模拟器可用,请确保在设备或模拟器上测试代码。
.
3。使用远程调试:
在 Chrome 或 Safari 上使用远程调试直接在连接的设备上调试应用程序,看看出了什么问题。
Chrome Remote Debugging: https://developer.chrome.com/devtools/docs/remote-debugging Safari Remote Debugging: http://moduscreate.com/enable-remote-web-inspector-in-ios-6/
.
4。查看电子邮件插件是否可用:
修改您的代码以显示 isAvailable 变量的值,并查看电子邮件插件在您的测试环境中是否可用。
document.addEventListener('deviceready', function () {
cordova.plugins.email.isAvailable(
function (isAvailable) {
alert("is email mobile available? " + (isAvailable ? "Yes" : "No"));
if(isAvailable){
window.plugin.email.open({
to: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="eb9f8e989fab9f8e989fc5888486" rel="noreferrer noopener nofollow">[email protected]</a>',
subject: 'Greetings',
body: 'How are you? Nice greetings from Leipzig'
}, callback, scope);
}
}
);
}, false);
function callback(){
console.log("callback function");
}
function scope(){
console.log("scope function");
}
关于javascript - 使用 Phonegap 发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37607272/