IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> kotlin发邮件 -> 正文阅读

[移动开发]kotlin发邮件

1. 依赖

dependencies{
    // https://mvnrepository.com/artifact/javax.mail/mail
    implementation("javax.mail:mail:1.5.0-b01")
}

2. 实现

import java.util.*
import javax.activation.DataHandler
import javax.activation.FileDataSource
import javax.mail.*
import javax.mail.internet.InternetAddress
import javax.mail.internet.MimeBodyPart
import javax.mail.internet.MimeMessage
import javax.mail.internet.MimeMultipart

fun main() {
    val account = "你的账号@qq.com"
    val password = "填邮箱密码或key"
    val personal = "发信使用的昵称"
    val to = "接收账号@qq.com"
    val props = mapOf(
// 认证
        "mail.smtp.auth" to "true",
// smtp服务器
        "mail.smtp.host" to "smtp.qq.com",
// smtp端口
        "mail.smtp.port" to "587",
    )
    val subject = "主题"
    val text = "内容"
    val html= "<h5>这是HTML</h5>"
    val filePath1 = """D:\图片\aaa.jpg"""
    val filePath2 = """D:\图片\0.png"""
    val filename = "绝命响应.png"

    val properties = Properties().apply { putAll(props) }

    val authenticator = object : Authenticator() {
        override fun getPasswordAuthentication(): PasswordAuthentication {
            return PasswordAuthentication(account, password)
        }
    }

    val mailSession = Session.getInstance(properties, authenticator)

    val textMessage = MimeMessage(mailSession).apply {
        setFrom(InternetAddress(account, personal, "UTF-8"))
        setRecipient(Message.RecipientType.TO, InternetAddress(to))
        setSubject(subject)

        setText(text)
    }

    val htmlMessage = MimeMessage(mailSession).apply {
        setFrom(InternetAddress(account, personal, "UTF-8"))
        setRecipient(Message.RecipientType.TO, InternetAddress(to))
        setSubject(subject)

        setContent(html, "text/html")
    }

    val multipartMessage = MimeMessage(mailSession).apply {
        setFrom(InternetAddress(account, personal, "UTF-8"))
        setRecipient(Message.RecipientType.TO, InternetAddress(to))
        setSubject(subject)

        val multipart = MimeMultipart().apply {
            addBodyPart(MimeBodyPart().apply {
                setContent(html, "text/html")
            })
// 若setContent设置为HTML,则前后都无法显示setText中内容
//            addBodyPart(MimeBodyPart().apply { setText("this is a text") })

            addBodyPart(MimeBodyPart().apply { attachFile(filePath1) })

            addBodyPart(MimeBodyPart().apply {
                val source=FileDataSource(filePath2)
                dataHandler = DataHandler(source)
                fileName=filename
            })
        }

        setContent(multipart)
    }


//    Transport.send(textMessage)
//    Transport.send(htmlMessage)
    Transport.send(multipartMessage)

}

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 21:56:51  更:2022-03-13 21:58:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 17:26:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码