对于Ionic,我正在尝试使用电子邮件。因此,用户按下一个按钮并转到电子邮件应用程序以发送包含"收件人"、"主题"和"正文"的电子邮件。
我遵循了EmailComposer的Ionic文档:https://ionicframework.com/docs/native/email-composer
所以我安装了插件,遵循"用法"。
import { EmailComposer } from '@ionic-native/email-composer/ngx';
constructor(private emailComposer: EmailComposer) { }
...
this.emailComposer.isAvailable().then((available: boolean) =>{
if(available) {
//Now we know we can send
}
});
let email = {
to: 'max@mustermann.de',
cc: 'erika@mustermann.de',
bcc: ['john@doe.com', 'jane@doe.com'],
// attachments: [],
subject: 'Cordova Icons',
body: 'How are you? Nice greetings from Leipzig',
isHtml: true
}
// Send a text message using default options
this.emailComposer.open(email);
只有当我按下按钮时。我收到错误:
ERROR TypeError: Object(...) is not a function
at EmailComposer.open (index.js:58)
我不知道这是什么原因。我在一个新的ionic3项目中尝试了这个,但我仍然得到同样的错误。
来自@ionic-native/email-composer/ngx
的EmailComposer
在 Ionic 3 中不受支持。它在 Ionic 4 中支持。您需要从支持 Ionic 3 的@ionic-native/email-composer
安装EmailComposer
。 使用以下命令安装EmailComposer
。
npm install --save @ionic-native/email-composer@4
问题是你告诉函数要做什么,但没有调用函数:
this.emailComposer.isAvailable().then((available: boolean) => {
if(available) {
//Now we know we can send
}
});
你必须命名函数,并在它之后告诉它该怎么做:
sendEmail() {
this.emailComposer.isAvailable().then((available: boolean) => {
if (available) {
}
});
let email = {
to: 'email@domain',
subject: '',
body: '',
isHtml: true
};
this.emailComposer.open(email);
}