【发布时间】:2018-10-28 23:08:47
【问题描述】:
您需要从应用程序发送电子邮件以响应本机。
使用了react-native-mailcore,但它不能附加文件。这是我的主要任务
我还能如何通过 smtp 发送带有文件的电子邮件?
【问题讨论】:
标签: javascript java android react-native smtp
您需要从应用程序发送电子邮件以响应本机。
使用了react-native-mailcore,但它不能附加文件。这是我的主要任务
我还能如何通过 smtp 发送带有文件的电子邮件?
【问题讨论】:
标签: javascript java android react-native smtp
首先你需要安装 react-native-mail 来发送邮件。
从 'react-native-mail' 导入 Mailer;
handleEmail = (url) => {
Mailer.mail({
subject: 'Screenshot',
recipients: ['example@gmail.com'],
ccRecipients: ['example1@gmail.com'],
//bccRecipients: ['supportBCC@example.com'],
body: '<b>Hello</b><p>Please check attached screenshot.</p>',
isHTML: true,
attachment: {
path: url, // The absolute path of the file from which to read data.
type: 'png', // Mime Type: jpg, png, doc, ppt, html, pdf, csv
//name: 'error.png', // Optional: Custom filename for attachment
}
}, (error, event) => {
console.log('errror', error)
});
};
【讨论】:
我也面临同样的问题,所以我最终创建了自己的库:react-native-smtp-mailer。
您使用您的凭据连接到 smtp 服务器以向收件人发送电子邮件,并能够添加 html 正文、附件等 (ios+android)。实际上它是 ios mailcore2 和 android javamail 主要功能的桥梁。
希望这对其他人也有帮助。
【讨论】:
react-native-mail 怎么样?
它是“iOS 上的 MFMailComposeViewController 和 Android 上的 Mail Intent 之上的包装器”
var Mailer = require('NativeModules').RNMail;
var MailExampleApp = React.createClass({
handleHelp: function() {
Mailer.mail({
subject: 'need help',
recipients: ['support@example.com'],
body: '',
attachment: {
path: '', // The absolute path of the file from which to read data.
type: '', // Mime Type: jpg, png, doc, ppt, html, pdf
name: '', // Optional: Custom filename for attachment
}
}, (error, event) => {
if(error) {
AlertIOS.alert('Error', 'Could not send mail. Please send a mail to support@example.com');
}
});
},
render: function() {
return (
<TouchableHighlight
onPress={row.handleHelp}
underlayColor="#f7f7f7">
<View style={styles.container}>
<Image source={require('image!announcement')} style={styles.image} />
</View>
</TouchableHighlight>
);
}
});
【讨论】: