- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基于Apache NNTP API,我试图只向自己发送消息,而不是通过内管发送消息。 。涉及的特定类采用 NNTP message并尝试将其解析为常规 MIME 类型消息,如下所示:
package net.bounceme.dur.nntp;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Header;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class MessageSender {
private final static Logger LOG = Logger.getLogger(MessageSender.class.getName());
private String header;
private String body;
private Properties p;
private Session session;
private MimeMessage message;
private MessageSender() {
}
public MessageSender(Properties p, String... s) throws Exception {
header = s[0];
body = s[1];
this.p = p;
populate();
}
private void populate() throws Exception {
String lines[] = header.split("\\n");
session = Session.getDefaultInstance(p, null);
message = new MimeMessage(session);
LOG.fine("\n\n\n\nnew message************\n\n\n\n");
for (String s : lines) {
if (!s.contains("comp.lang.java.help")) {
message.addHeaderLine(s);
}
}
message.setContent(message, body);
String recipient = p.getProperty("recipient");
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(recipient));
try {
send();
} catch (javax.mail.internet.ParseException e) {
LOG.warning(e.toString());
} catch (com.sun.mail.smtp.SMTPAddressFailedException e) {
LOG.warning(e.toString());
List<Address> addresses = Arrays.asList(message.getAllRecipients());
for (Address a : addresses) {
LOG.info(a.toString());
}
}
}
private void send() throws Exception {
String protocol = p.getProperty("protocol");
String host = p.getProperty("host");
int port = Integer.valueOf(p.getProperty("port"));
String username = p.getProperty("username");
String password = p.getProperty("password");
Transport transport = session.getTransport(protocol);
LOG.log(Level.FINE, "{0}{1}{2}{3}{4}", new Object[]{protocol, host, port, username, password});
Enumeration enumOfHeaders = message.getAllHeaders();
while (enumOfHeaders.hasMoreElements()) {
Header h = (Header) enumOfHeaders.nextElement();
LOG.log(Level.FINE, "\n\n\nHEADER\n{0}\n{1}", new Object[]{h.getName(), h.getValue()});
}
transport.connect(host, port, username, password);
transport.sendMessage(message, message.getAllRecipients());
}
}
但是我在处理标题时遇到了问题:
init:
Deleting: /home/thufir/NetBeansProjects/apache_nntp/build/built-jar.properties
deps-jar:
Updating property file: /home/thufir/NetBeansProjects/apache_nntp/build/built-jar.properties
Compiling 1 source file to /home/thufir/NetBeansProjects/apache_nntp/build/classes
compile:
run:
200 Leafnode NNTP Daemon, version 1.11.8 running at localhost (my fqdn: dur.bounceme.net)
GROUP comp.lang.java.help
211 35 3 37 comp.lang.java.help group selected
HEAD 3
221 3 <7e60dce5-09d7-4cee-bbc1-137207f03dd0@googlegroups.com> article retrieved - head follows
BODY 3
222 3 <7e60dce5-09d7-4cee-bbc1-137207f03dd0@googlegroups.com> article retrieved - body follows
Feb 24, 2013 3:05:04 AM net.bounceme.dur.nntp.MessageSender populate
WARNING: javax.mail.internet.ParseException: Expected '/', got wrote
HEAD 4
221 4 <kfpdt3$5g9$1@dont-email.me> article retrieved - head follows
BODY 4
222 4 <kfpdt3$5g9$1@dont-email.me> article retrieved - body follows
Exception in thread "main" javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 450 4.1.8 <markspace@nospam.nospam>: Sender address rejected: Domain not found
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1863)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1119)
at net.bounceme.dur.nntp.MessageSender.send(MessageSender.java:80)
at net.bounceme.dur.nntp.MessageSender.populate(MessageSender.java:54)
at net.bounceme.dur.nntp.MessageSender.<init>(MessageSender.java:35)
at net.bounceme.dur.nntp.ArticleReader.<init>(ArticleReader.java:28)
at net.bounceme.dur.nntp.Driver.<init>(Driver.java:13)
at net.bounceme.dur.nntp.Driver.main(Driver.java:17)
Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 450 4.1.8 <markspace@nospam.nospam>: Sender address rejected: Domain not found
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1730)
... 7 more
Java Result: 1
BUILD SUCCESSFUL (total time: 6 seconds)
现在,我意识到发件人没有域。尽管如此,我还是想继续发送信息。我需要更改发件人吗?我想尽可能少地修改标题。
如果有更好的方法来转换 NNTP --> MIME 消息,我当然愿意接受建议。我已经放弃了新闻组标题,因为由于我不明白的原因,这似乎有问题。基本上,我只是不知道如何解析这些 header ,以便它们创建要发送的有效消息。
最佳答案
是的,您需要修复发件人信息。问题不(完全)是你的代码。您的 MTA 正在拒绝该电子邮件。 Sendmail 通常配置为不允许显示无效的“发件人”地址。在本例中,它告诉您“nospam.nospam”的 DNS 查找失败。
您的信封应反射(reflect)类似 news2mail@myhost.org 的发件人,而不是尝试使用 usenet 文章海报的地址。
有多个可用的新闻组新闻到电子邮件网关;您可能想考虑使用其中之一,而不是自己开发。
关于java - 无法解析 header 来创建 MIME 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15051188/
如果上传的文件没有扩展名,是否必须指定 MIME 类型?换句话说,是否有默认的通用 MIME 类型? 最佳答案 对于未知类型,您可以使用application/octet-stream。 RFC 20
MIME 类型的官方 URN 是否存在? Mozilla Firefox 和其他应用程序使用诸如“urn:mimetype:text/plain”或“urn:mimetype:handler:text
我们有一个由 xyz 网站管理员部署在生产环境中的网站。以下是在两个不同实例中发生错误时 Web 控制台的两个屏幕截图。 我们时断时续地而不是始终如一地面对这个问题。此外,这种情况发生在少数用户而不是
此错误仅在 chrome 中显示。我正在搜索这个问题,但还没有找到 令人满意的解决方案。我附上了该错误的屏幕截图。请为此提出一些想法。 Error image 最佳答案 样式表的 MIME 类型应该是
当我使用 MAMP 托管我的 Drupal 站点时,出现了上述错误。我所有的 HTML 加载,但我的 CSS 没有加载。 拒绝应用来自“http://mysite/sites/default/file
错误信息: jquery.dataTables.min.js:23 未捕获类型错误:无法读取未定义的属性“长度” 在 Ha (jquery.dataTables.min.js:23) 在 HTMLTa
Raw images由相机、扫描仪等生成,通常比 JPEG 图像具有更大的后处理灵活性。 如果我从我的 Web 服务器提供这种文件,我应该使用哪种媒体类型(又名 MIME 类型)? 我对最近的佳能相机
我已经查看了大约 100 个站点,但没有找到任何内容。有些只是 mime 类型值的列表,有些只是对 RFC 的引用,或者或多或少是直接引用它们。 RFC 是难以理解的,每一个都只揭示了大象的一小部分。
我想用 image/*数据 URI 中的 MIME 类型,例如data:image/*;base64,R0lGODlhE...在 元素。 它是否完全符合标准的 MIME 类型? 它会在某些浏览器中引起
我有一个 PHP 脚本,用于下载不同类型的文件(PDF、JPEG、RAR 等)。效果很好,但是我注意到 MIME 类型存在问题。 是否有我可以安全地用于“通用目的”的通用 MIME 类型?我正在考虑所
我的程序使用自己的二进制文件类型,因此我假设我不能使用 MIME 类型文本/纯文本,因为它不是 7 位 ASCII 文件。 我应该将其命名为“application/myappname”吗? 最佳答案
我正在调试一个 MIME 解析器,它无法解析来自一个电子邮件服务的 header 。电子邮件服务包含一个 header ,该 header 由完全位于下一行的字段主体组成,如下所示: Message-
我有一个 Vue.js 项目,当我检查控制台时发现以下问题: Refused to apply style from 'http://localhost:8080/dist/cropper.min.c
friend 们,我花了一整天的时间寻找这个问题的解决方案,但我一直无法修复它。当我为生产构建它时,在开发模式下(没有缩小和其他东西)它在本地主机上运行良好,但是当我在 dist 文件夹中获取我的文件
Swagger 默认支持 application/json 作为 Content 类型。如果我想添加其他内容类型,则需要在 swagger JSON 文件中更新“生产”或“消费”字段。客户可以发送任何
我的网络服务生成并返回一个 .tex 文件。我想在 http-header 中提供正确的 mimetype。 除了here我没找到这么多,我在其中找到 application/x-tex。这是要坚持的
我需要区分不同类型的 HTML 模板,例如来自 Handlebars 模板的 FreeMarker。由于模板在数据库中(所以它们不是文件,即没有文件名或扩展名)我想使用 MIME 类型来识别它们。 对
我想知道 iWork 页面的 mime 类型是什么?以及 iWork 套件中其余软件的 mime 类型是什么?我在网上环顾四周,没有看到任何地方。 最佳答案 我最近需要这个来工作,结果只是上传了一些文
我正在构建一个 mime 类型的猜测器,我正在使用 mimetype命令来检查我的结果。对于日志文件,它返回 text/x-log .我在这些列表中没有看到这种 mime 类型: http://svn
有谁知道 Markdown 是否存在 MIME 类型?我猜是 text/plain,但是有更具体的吗? 最佳答案 tl;dr:text/markdown 自 2016 年 3 月起 2016 年 3
我是一名优秀的程序员,十分优秀!