JavaMail如何获取邮件发送者的IP?

2019-03-25 13:34|来源: 网路

利用javaMail来解析邮件(eml文件),通过MimeMessage对象可以轻松的获取像邮件的主题、发送邮箱、接受邮件、内容、发送时间等信息。但是对于发送者的IP没有提供对应的API,不知道有什么办法可以获取这个值。谢谢!

相关问答

更多
  • 请详细说明你的问题,你是web应用javamail,还算桌面程序使用的javamail。 true smtp.sina.com 2500 这个是spring配置javamail,不知道你的情况。不好说
  • 如日志所示,您正在从主UI线程调用与网络相关的任务。 您必须使用AsyncTask进行这些通信。 并通过这样去除StrictMode StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() .permitAll().build(); StrictMode.setThreadPolicy(policy); 另请参阅本文中关于JavaMail API使用的答案。 编辑:添加代码内联在这里包com.max.macte ...
  • 邮件API尝试通过SMTP联系邮件服务器以发送邮件。 您将其配置为使用localhost上的邮件服务器,即运行代码的同一台计算机。 “连接被拒绝”错误意味着没有任何内容正在侦听标准SMTP端口(25) 我的猜测是该机器上没有运行邮件服务器。 找出您要使用的服务器(或允许使用的服务器),并将其用于SMTP主机配置。 The mail API is trying to contact a mail server via SMTP to send the mail. You configured it to us ...
  • 您正在使用null context初始化BackgroundMail对象 BackgroundMail bm = new BackgroundMail(context); 从未初始化context成员变量。 然后将此null上下文从BackgroundMail#send()方法传递到 Utils.isNetworkAvailable(mContext); 然后最终抛出NullPointerException 。 You are initializing your BackgroundMail objec ...
  • 你检查过日志文件吗? 运行程序时是否有任何异常或错误? 你有本地主机上运行的SMTP服务器吗? SMTP服务器是否接受来自本地主机的连接? 你能使用普通的电子邮件客户端通过该服务器发送电子邮件并以某种方式接收它们 尝试使你的程序成为一个独立的命令行程序并尝试执行它 您似乎在message.setSubject("Email Details Sending);缺少引号message.setSubject("Email Details Sending);您确定您的servlet实际编译了吗? Have you ...
  • 您可以使用任何SMTP服务器通过JavaMail和该服务器上的任何帐户发送消息。 如果要使用给定服务器/帐户的默认值以外的发件人字段发送邮件,则完全取决于您使用的SMTP服务器。 其中一些可以允许设置任意的From字段值,但大多数 - 不是。 无论如何,它不是关于JavaMail,而是关于SMTP。 You can use any SMTP server to send a message with JavaMail and any account on that servers. If you want ...
  • 我会回答我自己的问题。 问题是使用属性mail.smtp.host=127.0.0.1不会像我预期的那样强制使用IP4。 诀窍是使用属性mail.smtp.localaddress=127.0.0.1 。 这会将传出套接字绑定到此本地地址,从而使其成为IP4。 此处记录了JavaMail中SMTP连接的属性。 我假设也可以通过创建自定义SocketFactory类来解决问题,然后让JavaMail知道应该通过mail.smtp.socketFactory.class属性使用此类。 I'll answer m ...
  • 简单的答案:无法使用IMAP发送电子邮件。 您必须使用SMTP来发送电子邮件。 更精确地说,有一些扩展可以组合发送和检索操作。 但是,据我所知,这些扩展并未广泛传播 - 无论是在客户端还是在服务器端。 另请参阅有关IMAP的维基百科上的文章( IMAP #Distadvantages ): 与将发送和检索操作组合在一起的某些专有协议不同,使用基本级IMAP客户端发送邮件并将其副本保存在服务器端文件夹中需要将邮件内容两次传输到SMTP,以便第二次传送到IMAP存储在已发送的邮件文件夹中。 这可以通过一组扩展来 ...
  • 您可以将mail.smtp.localaddress属性设置为与要绑定到该接口的特定接口对应的主机名。 使用NetworkInterface.getInetAddresses并查找Inet4Address。 You can set the mail.smtp.localaddress property to the host name corresponding to a particular interface to bind to that interface. Use NetworkInterface ...
  • 不,你不能 从代码中可以看出, username和password用于登录该邮件ID,然后使用该Email ID发送电子邮件 GMailSender有一个构造函数,它接受用户名和密码,用于在代码中创建登录会话 session = Session.getDefaultInstance(props, this); 登录完成后,您就像通常在浏览器中那样从该邮件ID发送电子邮件 备择方案 现在,如果您想发送电子邮件,那么您可以像这样在Android中发送一个意图 Intent email = new I ...