Java-SimpleMemessage不设置主题
我使用Apache Commons Mail,并认识到根本不使用电子邮件主题(以及其他设置,如字符编码):Java-SimpleMemessage不设置主题,java,email,smtp,apache-commons-email,Java,Email,Smtp,Apache Commons Email,我使用Apache Commons Mail,并认识到根本不使用电子邮件主题(以及其他设置,如字符编码): props.put("mail.smtp.host", "localhost"); Session s = Session.getInstance(props, null); s.setDebug(true); MimeMessage message = new MimeMessage(s); message.setHeader("Content-
props.put("mail.smtp.host", "localhost");
Session s = Session.getInstance(props, null);
s.setDebug(true);
MimeMessage message = new MimeMessage(s);
message.setHeader("Content-Type", "text/plain; charset=UTF-8");
message.addHeader("Content-Transfer-Encoding", "quoted-printable");
message.setFrom(new InternetAddress("me@home.com"));
message.addRecipient(javax.mail.Message.RecipientType.TO, new InternetAddress("you@abroad.com"));
String subj = MimeUtility.encodeText("");
message.setSubject("my subject with specials äöü");
message.setText("Some text with special äöü");
Transport.send(message);
解bug输出显示:
DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "localhost", port 25, isSSL false
220 mydomain ESMTP Postfix
DEBUG SMTP: connected to host "localhost", port: 25
EHLO MyComputer
250-PIPELINING
250-SIZE 10485760
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "SIZE", arg "10485760"
DEBUG SMTP: Found extension "VRFY", arg ""
DEBUG SMTP: Found extension "ETRN", arg ""
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "DSN", arg ""
DEBUG SMTP: use8bit false
MAIL FROM:<me@home.com>
250 2.1.0 Ok
RCPT TO:<you@abroad.com>
250 2.1.5 Ok
DEBUG SMTP: Verified Addresses
DEBUG SMTP: you@abroad.com
DATA
354 End data with <CR><LF>.<CR><LF>
Some text with specials =C3=A4=C3=B6=C3=BC
.
250 2.0.0 Ok: queued as 9F623345F99
QUIT
221 2.0.0 Bye
调试SMTP:useEhlo true,useAuth false
调试SMTP:尝试连接到主机“localhost”,端口25,isSSL false
220 mydomain ESMTP后缀
调试SMTP:已连接到主机“localhost”,端口:25
电子计算机
250-流水线
250号10485760
250-VRFY
250-ETRN
250-增强状态码
250-8比特
250 DSN
调试SMTP:找到扩展名“管道”,arg“”
调试SMTP:找到扩展名“SIZE”,arg“10485760”
调试SMTP:找到扩展名“VRFY”,参数“”
调试SMTP:找到扩展名“ETRN”,参数“”
调试SMTP:找到扩展名“ENHANCEDSTATUSCODES”,arg“”
调试SMTP:找到扩展名“8BITMIME”,参数“”
调试SMTP:找到扩展名“DSN”,参数“”
调试SMTP:use8bit false
邮寄地址:
250 2.1.0正常
RCPT至:
250 2.1.5正常
调试SMTP:已验证的地址
调试SMTP:you@abroad.com
资料
354使用结束数据。
一些特殊文本=C3=A4=C3=B6=C3=BC
.
250 2.0.0正常:按9F623345F99排队
退出
221 2.0.0再见
据我所知,主题应该设置在SMTP邮件的数据部分
如何修复此问题?如果您查看此问题(很抱歉,缓存了链接,但Oracle似乎已将此链接(重新)移动或其他内容):
- “t+work&cd=3&hl=en&ct=clnk&gl=us&client=firefox-a
- 从类路径中删除commons电子邮件JAR,然后重试上述操作,
- 或者使用其他示例,例如:
- 使用commons电子邮件站点的(第一个)示例:
- “t+work&cd=3&hl=en&ct=clnk&gl=us&client=firefox-a
- 从类路径中删除commons电子邮件JAR,然后重试上述操作,
- 或者使用其他示例,例如:
- 使用commons电子邮件站点的(第一个)示例:
- 我也有同样的问题
我删除库
<artifactId>geronimo-javamail_1.4_spec</artifactId>
<groupId>org.apache.geronimo.specs</groupId>
geronimo-javamail_1.4_规范
org.apache.geronimo.specs
从我的项目
这是我的工作 我也有同样的问题 我删除库
<artifactId>geronimo-javamail_1.4_spec</artifactId>
<groupId>org.apache.geronimo.specs</groupId>
geronimo-javamail_1.4_规范
org.apache.geronimo.specs
从我的项目
这是我的工作 设置主题后,调试器显示主题、内容类型和内容传输编码设置正确。但是,设置文本后,内容类型和内容传输编码设置消失。@Klaus在打印
email.getSubject()之前的email.send()时,您看到了什么
在我提到的上一个例子中()?设置是否正确?那么,您是说,当您一直执行此示例并且在服务器上收到消息时,它没有主题?您是在使用来自站点的示例逐字记录(当然,除了更改主机:端口和身份验证)还是更改了什么?您设置主题和消息本身的两行是什么?奇怪的是,您得到的消息是OK,而不是subject。设置subject后,调试器显示subject、content type和content transfer encoding设置正确。但是,设置文本后,content type和content transfer encoding设置消失了。@Klaus打印电子邮件时看到了什么。getSubject()
就在email.send()之前。
在我提到的上一个示例()中?设置是否正确?那么,您是说,当您一直执行此示例并且在服务器上收到消息时,它没有主题?您是在使用来自站点的示例逐字记录(当然,除了更改主机:端口和身份验证)还是更改了什么?您设置主题和消息本身的两行是什么?奇怪的是,你得到的信息是正确的,而不是主题。