java代码发送邮件

本文详细介绍了如何使用Apache Commons Email和javaMailSender发送邮件,包括发送文本邮件、带附件的邮件、HTML格式邮件以及嵌入图片。同时,文章指出了使用javaMailSender时可能遇到的问题,如配置javaMailProperties、端口设置和认证设置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、使用Apache commons email发送邮件

参考

引用commons-mail组件包

    <dependency>
	    <groupId>org.apache.commons</groupId>
	    <artifactId>commons-email</artifactId>
	    <version>1.4</version>
	</dependency>

1.发送简单文本邮件

    /**
     * @describe 发送内容为简单文本的邮件
     * @throws EmailException
     */
    public static void sendSimpleTextEmail() throws EmailException {
   
         Email email = new SimpleEmail();
         //设置主机名,QQ邮箱是"smtp.qq.com",网易邮箱是"smtp.163.com"
         email.setHostName("smtp.163.com");
         // 用户名和密码为邮箱的账号和授权码(不需要进行base64编码)
         email.setAuthenticator(new DefaultAuthenticator("myemailaddress@163.com", "myshouquanma"));
         //设置SSL连接,这样写就对了
         email.setSSLOnConnect(true);
         //设置来源,就是发送方的邮箱地址
         email.setFrom("myemailaddress@163.com");
         //设置主题,可以不设置
         email.setSubject("java发送邮件");
         //设置信息,就是内容,这个必须要有
         email.setMsg("这是测试邮件 ... :-)");
         //接收人邮箱地址
         email.addTo("receiveeraddress@qq.com");
         email.send();
    }

2.发送包含附件的邮件

附件为本地资源,这里用到了一个EmailAttachment对象,也就是附件的意思

   /**
     * @describe 发送包含附件的邮件(附件为本地资源)
     * @throws EmailException
     */
    public static void sendEmailsWithAttachments() throws EmailException {
   
        // 创建一个attachment(附件)对象
        EmailAttachment attachment = new EmailAttachment();
        //设置上传附件的地址
        attachment.setPath("C:\\Users\\Administrator\\Pictures\\Saved Pictures\\conti.png");
        attachment.setDisposition(EmailAttachment.ATTACHMENT);
        //这个描述可以随便写
        attachment.setDescription("Picture of conti");
        //这个名称要注意和文件格式一致,这将是接收人下载下来的文件名称
        attachment.setName("conti.png");
        //因为要上传附件,所以用MultiPartEmail()方法创建一个email对象,固定步骤都是一样的
        MultiPartEmail email = new MultiPartEmail();
        email.<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值