Java mail发送相关问题

2023-11-13

一、邮件附件变成bin格式

Java 发送邮件时,邮件附件变成.bin后缀的文件

如下图:

出现这个问题,博主查阅了其他博主的文章,大致是附件名称过长或附件名称携带中文

博主代码中采用的是中文加UUID的一个拼接。如下:

//生成随机的UUID
String uuid = IdWorker.get32UUID();
String file = "核价单" + uuid+ ".pdf"

博主翻看了MimeBodyPart类的源码,发现setFileName中有个getParameterList方法,继续跟进会发现他里面做了一层判断,如下图:

 意思大致就是长度大于60并且splitLongParameters、encodeParameters为true时,文件名就会被截取,然后在进行转码就会变成开头我们说的格式了,然后我们找一下splitLongParameters,其实在开头已经被定义为true

 解决方案:初始化时我们将这个值变为false,并缩短了附件名字

System.getProperties().setProperty("mail.mime.splitlongparameters", "false");
System.getProperties().setProperty("mail.mime.charset", "UTF-8");

String randomAlphanumeric = RandomStringUtils.randomAlphanumeric(6);
String file = "核价单" + randomAlphanumeric + ".pdf";

二、项目部署阿里云服务器出现报错

报错如下:Got bad greeting from SMTP host: smtp.exmail.qq.com, port: 465, response: [EOF]. Failed messages: javax.mail.MessagingException: Got bad greeting from SMTP host: smtp.exmail.qq.com, port: 465, response: [EOF]

本地可以发送正常,上传阿里云服务器就是不可以,后来发现代码中没有配置ssl连接方式。

配置如下:

spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java mail发送相关问题 的相关文章

  • 如何克服原语按值传递的事实

    我有一段很长的代码来计算两个值 doubles 对我来说 我在几个地方使用了这段代码 为了坚持 DRY 原则 我应该将这段代码重构为一个很好的单元测试方法 但是我不能让它返回两个双精度数 而双精度数是原始的 因此不能按值传递和操作 我能想到
  • Hibernate注解放置问题

    我有一个我认为很简单的问题 我见过两种方式的例子 问题是 为什么我不能将注释放在字段上 让我举一个例子 Entity Table name widget public class Widget private Integer id Id G
  • 如何在android上的python kivy中关闭应用程序后使服务继续工作

    我希望我的服务在关闭应用程序后继续工作 但我做不到 我听说我应该使用startForeground 但如何在Python中做到这一点呢 应用程序代码 from kivy app import App from kivy uix floatl
  • 如何创建一个显示 Spinners 的 x 和 y 值的表格?

    我想创建一个位于图表右侧的表格 其中显示 2 列 x 和 y 值已输入到xSpin and ySpin旋转器 我已经画了一张我想要桌子放置的位置的图 我尝试过在网格窗格布局中使用文本框来创建表格并将值直接输入到文本框网格中 但是我无法将它们
  • wait() 在游戏中如何工作?

    在 playframework 的文档中here http www playframework org documentation 1 2 1 asynchronous已写 public static void loopWithoutBlo
  • 使用 AES SecretKey 的 Java KeyStore setEntry()

    我目前正在 Java 中开发一个密钥处理类 特别是使用 KeyStore 我正在尝试使用 AES 实例生成 SecretKey 然后使用 setEntry 方法将其放入 KeyStore 中 我已经包含了代码的相关部分 The KS Obj
  • 在 S3 中迭代对象时出现“ConnectionPoolTimeoutException”

    我已经使用 aws java API 一段时间了 没有遇到太多问题 目前我使用的是库 1 5 2 版本 当我使用以下代码迭代文件夹内的对象时 AmazonS3 s3 new AmazonS3Client new PropertiesCred
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • 在 Netbeans 8 上配置 JBoss EAP 的问题

    我已经下载了 JBoss EAP 7 并正在 Netbeans 8 上配置它 我已经到达向导 实例属性 其中要求从选择框中选择 域 当我打开选择框时 它是空的 没有什么可以选择的 因此 完成 按钮也处于非活动状态 这使得无法完成配置 我通过
  • 具有 java XSLT 扩展的数组

    我正在尝试使用 java 在 XSLT 扩展中使用数组 我收到以下错误 Caused by java lang ClassCastException org apache xpath objects XObject cannot be ca
  • 很好地处理数据库约束错误

    再一次 它应该很简单 我的任务是在我们的应用程序的域对象中放置一个具有唯一约束的特定字段 这本身并不是一个很大的挑战 我刚刚做了以下事情 public class Location more fields Column unique tru
  • 以编程方式在java的resources/source文件夹中创建文件?

    我有两个资源文件夹 src 这是我的 java 文件 资源 这是我的资源文件 图像 properties 组织在文件夹 包 中 有没有办法以编程方式在该资源文件夹中添加另一个 properties 文件 我尝试过这样的事情 public s
  • 在游戏视图下添加 admob

    我一直试图将 admob 放在我的游戏视图下 这是我的代码 public class HoodStarGame extends AndroidApplication Override public void onCreate Bundle
  • 编辑文件名在 JComboBox 中的显示方式,同时保持对文件的访问

    我对 Java 很陌生 对堆栈溢出也很陌生 我正在尝试利用 JMF API 创建一个用 Java 编码的简单媒体播放器 到目前为止 我已经能够设置一个简单的队列 播放列表来使用JComboBox called playListHolder
  • IntelliJ - 调试模式 - 在程序内存中搜索文本

    我正在与无证的第三方库合作 我知道有一定的String存储在库深处的某个字段中的某处 我可以预测的动态值 但我想从库的 API 中获取它 有没有一种方法可以通过以下方式进行搜索 类似于全文搜索 full程序内存处于调试模式并在某个断点处停止
  • java.lang.NumberFormatException: Invalid int: "3546504756",这个错误是什么意思?

    我正在创建一个 Android 应用程序 并且正在从文本文件中读取一些坐标 我在用着Integer parseInt xCoordinateStringFromFile 将 X 坐标转换为整数 Y 坐标的转换方法相同 当我运行该应用程序时
  • 替换后增量

    我自己已经有一个问题了 但我想扩展它后增量示例 https stackoverflow com questions 51308967 post increment with example char a D int b 5 System o
  • HQL Hibernate 内连接

    我怎样才能在 Hibernate 中编写这个 SQL 查询 我想使用 Hibernate 来创建查询 而不是创建数据库 SELECT FROM Employee e INNER JOIN Team t ON e Id team t Id t
  • 将 Azure AD 高级自定义角色与 Spring Security 结合使用以进行基于角色的访问

    我创建了一个演示 Spring Boot 应用程序 我想在其中使用 AD 身份验证和授权 并使用 AD 和 Spring Security 查看 Azure 文档 我执行了以下操作 package com myapp contactdb c
  • 在 RESTful Web 服务中实现注销

    我正在开发一个需要注销服务的移动应用程序 登录服务是通过数据库验证来完成的 现在我陷入了注销状态 退一步 您没有提供有关如何在应用程序中执行身份验证的详细信息 并且很难猜测您在做什么 但是 需要注意的是 在 REST 应用程序中 不能有会话

随机推荐

  • Docker是什么?

    一 概述 Docker是一个用于开发 交付和运行应用程序的开放平台 Docker使您能够将应用程序与基础架构分离 从而实现快速交付软件 借助Docker 您可以以与管理应用程序相同的方式来管理基础架构 通过利用Docker快速交付 测试和部
  • python生成微信个性签名的词云图

    需要用到的库 itchat jieba numpy wordcloud import itchat import re import jieba import matplotlib pyplot as plt import PIL Imag
  • 企业运维

    欢迎关注 全栈工程师修炼指南 公众号 设为 星标 每天带你 基础入门 到 进阶实践 再到 放弃学习 专注 企业运维实践 网络安全 系统运维 应用开发 物联网实战 全栈文章 等知识分享 花开堪折直须折 莫待无花空折枝 作者主页 https w
  • QT控件之(QLabel)中加载了图片想清除掉

    这个时候直接在你加载图片的那个label中使用如下代码 清除label中加载过来的图片 label clear qt学习推荐 百度云盘 链接 https pan baidu com s 11b634VvKMIsGdahyBLpZ3Q 提取码
  • 远程调试Android/IOS设备/微信网页方法汇总

    以下汇总现在可远程调试手机网页的几个方法 基本上官方都有详细的说明文档 可移步至相关网站查看 这里就不赘述使用 操作方法了 微信web开发者工具 PC客户端 官方说明文档 支持Windows和Mac系统 支持调试Android和IOS设备
  • 原生 fetch 请求 fetch和ajax的区别

    比如请求一个json文件 async function 请求 let res fetch data1 json 解析内容 let data await res json 获取到json 文件 console log data 比如请求一个图
  • NG4+NG-ZORRO搭建项目

    一 安装Nodejs Angular CLI 安装nodejs node官网下载安装即可 安装完成后查看版本信息 npm v npm install g angular cli 下载Angular CLI 查看Angular CLI的安装结
  • 【正点原子STM32连载】第四十二章 FLASH模拟EEPROM实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1 实验平台 正点原子MiniPro H750开发板 2 平台购买地址 https detail tmall com item htm id 677017430560 3 全套实验源码 手册 视频下载地址 http www openedv
  • 使用Encoder-Decoder模型自动生成对联的思路

    版权声明 可以任意转载 转载时请标明文章原始出处和作者信息 author 张俊林 在我看到第一篇Encoder Decoder模型的论文的时候 我就觉得用这个来作对联自动生成是再合适不过的了 做诗词应该也是比较适合的 但是相对诗词 用它来做
  • Linux wget下载指定目录及重命名

    Linux系统wget下载指定目录及重命名 假设目录为 happy page 假设下载网址为 http www baidu com 假设下载文件的原始文件名为 baidu html 1 指定下载目录 wget P happy page ht
  • PCL-获取点云体素中的所有点的索引的方法

    使用 octree 将点云体素化之后 获取体素中所有点的方法 即OctreeContainerBase中的三个方法的介绍 getPointIndex getPointIndicesVector getPointIndices 这三个方法都是
  • R语言tidyr包的详解

    tidyr用于数据处理 可以实现数据长格式和宽格式之间的相互转换 这里所指的长格式数据就是一个观测对象由多行组成 而宽数据格式则是一个观测仅由一行组成 除此之外 tidyr还可以对数据进行拆分和合并 同时也能够对缺失值进行简单的处理 tid
  • oracle(内置函数)

    1 转换函数 to char to number to date 例子 to number 转成数值型 select to number 22 23 from dual 2 to char 转成字符型 select to char 22 哈
  • Criss-Cross Attention for Semantic Segmentation论文及代码分析

    先附上论文及代码 该工作于2019年发表于ICCV会议 1 Introduction 由于固定的几何结构 传统的FCN受限于局部的感受野 只能提供短程的上下文信息 这对于提升分割任务的精度起到相反的影响 为了弥补FCN的缺陷 ASPP和PP
  • JAVA环境变量的配置及常用工具说明

    首先 到官网www eclipse com下载并安装最新版本的JDK 其次 找到设置位置 我的电脑 右键 属性 高级系统设置 高级 默认 环境变量 系统变量 新建系统变量JAVA HOME和CLASSPATH 变量名 JAVA HOME 变
  • 汉诺塔问题(C语言)

    汉诺塔问题 文章目录 汉诺塔问题 汉诺塔是什么 一 怎么解决汉诺塔问题 1 1 操作规则 1 2 函数递归 递归的两个必要条件 例题 斐波那契数列 二 解题步骤 2 1 代码如下 示例 2 2 图解 2 n 1 在这里插入图片描述 2 3
  • 微信小程序上线发布流程

    最近花了一天左右的时间学习了下微信小程序的开发 试着练习一把的心态 搞了一个很简单的页面 就当是学习总结吧 学习要点还是挺多的 通过查看官方接口文档 熟悉微信小程序开发工具 工程架构 相比传统页面开发类似 微信小程序也是由js文件 页面布局
  • Qt自定义Delegate实现QTableWidget整行选中圆角矩形高亮效果

    问题背景 参照一个现有的Linux桌面应用 尽可能的模仿它的UI 其中有一个UI效果就是列表整行选中后是一个圆角矩形高亮效果 如下图所示 参考代码 先放代码 实现的思路就是用代理来重绘我们想要的效果 include
  • Socks5代理:跨界电商与游戏产业的爬虫利器与出海战略助推器

    一 Socks5代理 跨界电商与游戏产业的爬虫利器 跨界电商 跨界电商是不同行业或领域之间进行合作的电商模式 企业在拓展全球市场时 需要收集不同领域的市场情报和竞争数据 Socks5代理作为爬虫利器 能够高效稳定地实现数据采集 游戏产业 游
  • Java mail发送相关问题

    一 邮件附件变成bin格式 Java 发送邮件时 邮件附件变成 bin后缀的文件 如下图 出现这个问题 博主查阅了其他博主的文章 大致是附件名称过长或附件名称携带中文 博主代码中采用的是中文加UUID的一个拼接 如下 生成随机的UUID S