更新记录

1.4.0(2023-03-20)

本次只要更新: 1.andorid 修复 toEmailPersonal 设置不对应的情况

1.3.0(2023-03-16)

本次主要更新: 1.增加 发件人名称、收件人名称、抄送人名称 参数 2.修复 andorid 多个发件人不同账号,都是第一个账号的情况

1.2.0(2023-03-14)

本次主要更新: 1.andorid 修复 静默发邮件 会默认添加抄送的情况 2.增加 EHLO会话,参数

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 适用版本区间:11 - 16

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


KJ-Mail

邮箱、静默发邮件、系统UI发送邮件、支持文本、html、附件发送

注意

android版本需要在manifest.json里配置:
    app-plus ->  distribute -> android 下增加以下代码,要不打包会报错,可以直接去示例工程查看:

    "packagingOptions" : [
        "pickFirst 'META-INF/LICENSE.txt'",
        "pickFirst 'META-INF/LICENSE.md'",
        "pickFirst 'META-INF/NOTICE.md'"
    ]

使用

<template>
    <view class="content">
        <button type="primary" @click="openVC">系统UI发送邮件</button>
        <button type="primary" @click="send">静默发送邮件</button>
    </view>
</template>

<script>
    const KJMail = uni.requireNativePlugin('KJ-Mail');
    export default {
        data() {
            return {
                title: 'Hello'
            }
        },
        onLoad() {

        },
        methods: {
            openVC() {
                /**
                 * 注意:andorid版本这个方法,由于系统限制,只有 toEmail 和 messageBody.body(不能传html代码) 字段,不保证所有机型生效
                 * */
                var dic = {}
                if (plus.os.name == 'Android') {
                    dic = {
                        "toEmail": ["xxx@xxx.com"], //收件人
                        "messageBody": { //消息内容
                            "body": "测试文本"
                        }
                    }
                } else {
                    dic = {
                        "toEmail": ["xxx@xxx.com"], //收件人
                        // "ccEmail": [],//抄送
                        // "bccEmail": [],//密送
                        "subject": "主题", //主题
                        "messageBody": { //消息内容
                            "body": "<p style=\"color:red\">红色测试文本</p><img src=\"https://img-cdn-tc.dcloud.net.cn/uploads/avatar/000/73/57/99_avatar_max.jpg\"></img>",
                            "isHTML": true //是否是html代码
                        },
                        "attachmentData": [{ //附件数据
                            "filePath": plus.io.convertLocalFileSystemURL("static/logo.png"), //传绝对路径
                            "mimeType": "",
                            "fileName": "logo.png"
                        }]
                    }
                }

                KJMail.openVC(dic, (res) => {
                    /**
                     * result true(成功) false(失败)
                     * mailComposeResult ios才有这个字段 0(取消) 1(保存) 2(发送) 3(失败)
                     * */
                    console.log(JSON.stringify(res))
                });
            },
            send() {
                var dic = {
                    "login": "543610866@qq.com", //发件人邮箱账号
                    "pass": "xxx", //发件人授权码,去邮箱官网->设置->开启POP3/SMTP服务和IMAP/SMTP服务,然后生成授权码
                    "relayHost": "smtp.qq.com", //SMTP的服务器 (腾讯企业邮箱)smtp.exmail.qq.com  (163邮箱)smtp.163.com
                    //"relayPorts": [],//端口,无需设置
                    "requiresAuth": true, //是否需要认证(登陆)
                    "wantsSecure": true, //是否用ssl
                    "validateSSLChain": false, //是否验证SSL证书
                    "ehlo": "localhost", //EHLO会话
                    "subject": "主题",
                    "fromEmail": "543610866@qq.com", //发件人
                    "fromEmailPersonal": "我是发件人名称", //发件人名称
                    "toEmail": "543610866@qq.com", //收件人
                    "toEmailPersonal": "我是收件人名称", //收件人名称
                    "ccEmail": "543610866@qq.com", //抄送人
                    "ccEmailPersonal": "我是抄送人名称", //抄送人名称
                    //"bccEmail": "", //密送人
                    "connectTimeout": 60000, //超时时间
                    "messageBody": { //消息内容
                        "contentType": "text/html; charset=UTF-8",
                        "body": "<p style=\"color:red\">红色测试文本</p><img src=\"https://img-cdn-tc.dcloud.net.cn/uploads/avatar/000/73/57/99_avatar_max.jpg\"></img>"
                    },
                    "attachmentData": [{ //附件数据
                        "filePath": plus.io.convertLocalFileSystemURL("static/logo.png"), //传绝对路径
                        "fileName": "logo.png"
                    }]
                }
                KJMail.send(dic, (res) => {
                    /** 
                     * result true(成功) false(失败)
                     * */
                    console.log(JSON.stringify(res))
                });
            }
        }
    }
</script>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问