我做了一个使用Java API发送电子邮件的简单应用程序,有一个问题:
有没有办法找出SMTP主机知道谁将登录发送电子邮件的电子邮件地址?还有港口?
例如,如果发件人的电子邮件地址为sender@gmail.com,则SMTP主机为SMTP.gmail.com,端口为465。如果发件人的电子邮件地址为sender@yahoo.com,则SMTP主机为SMTP.yahoomail.com,端口为25。
假设我不知道这些,有没有办法找到这些信息使用Java API类?请注意,我是新来Java的:)
先谢谢你,
安德里亚
谢谢你的回答。我试着做了以下几点:
public static String getMXRecordsForEmailAddress(String eMailAddress) {
String returnValue = null;
try {
String hostName = getHostNameFromEmailAddress(eMailAddress);
Record[] records = new Lookup(hostName, Type.MX).run();
if (records == null) {
throw new RuntimeException("No MX records found for domain " + hostName + ".");
}
// return first entry (not the best solution)
if (records.length > 0) {
MXRecord mx = (MXRecord) records[0];
returnValue = mx.getTarget().toString();
}
} catch (TextParseException e) {
throw new RuntimeException(e);
}
System.out.println("return value = "+returnValue);
return returnValue;
}
但是,不管hostName(例如gmail.com,yahoo.com)的值如何,record[]records=new Lookup(hostName,type.mx).run();始终返回NULL。
我很确定我错过了什么,但我不知道是什么。请你帮我一下好吗?你能告诉我我做错了什么吗?
非常感谢,
安德里亚
你的问题有些不太清楚。你要么是试图找出SMTP发送电子邮件到某个地址,所以直接发送到他们的服务器。这是通过上面解释的MX记录完成的。
如果像我所怀疑的那样,您试图为当前用户找出(在from字段中)使用哪一个SMTP服务器向世界发送他的电子邮件。这是另一个故事。不能安全地确定。MX记录为您提供该域的传入电子邮件的地址,而不是传出电子邮件的地址。大多数时候,它会工作,但没有保证。例如,GMail在其MX记录中有:
alt1.gmail-smtp-in.l.google.com internet address = 173.194.70.27
alt2.gmail-smtp-in.l.google.com internet address = 173.194.69.27
alt4.gmail-smtp-in.l.google.com internet address = 173.194.79.27
而smtp.gmail.com(传出)为:
Name: gmail-smtp-msa.l.google.com
Address: 173.194.67.108
或者公司foobar.com可能有smtp.foobar.com,但只通过他们的VPN接受作为internalmail.foobar.loc的传出邮件。
你可以看到这个猜测游戏在雷鸟设置,他们试图找出服务器自动但要求你确认。
不幸的是,没有标准的方法来为任意电子邮件地址识别正确的传出SMTP服务器,假设您要做的是让用户指定电子邮件地址/密码,然后使用该帐户发送邮件。
这就是电子邮件客户端(例如Thunderbird、Outlook等)通常要求用户手动配置传出的SMTP服务器名称/端口的原因。您可以通过识别几个流行的ISP(Google、Yahoo等)并预先配置适当的值来帮助实现这一过程,但没有自动完成这一过程的通用方法。
本文向大家介绍Powershell 查找用户的主SMTP地址,包括了Powershell 查找用户的主SMTP地址的使用技巧和注意事项,需要的朋友参考一下 今天同事让我生成一个报表,列出用户的主SMTP地址后缀是@aus.ddb.com的用户。 Get-ADUser可以直接获取相关信息,不过主SMTP是隐藏在ProxyAddress这个属性里面的,如果1个用户有多个邮件地址,大写的SMTP的那个就
我使用的是。 当我尝试并继续到链接的下一页时,我得到以下错误 文件“scrape.py”,第43行,在查找(driver)文件“scrape.py”中,第26行,在查找links.extend中([link.get_attribute('href')for link in driver.find_elements_by_xpath('//h2[@class=“heading”]/a')])文件“/
我有php邮件,我在我的网页上有联系表格。如果有人填写详细信息,如姓名,联系人,电子邮件,消息等,然后点击发送按钮,下面的错误会出现在屏幕上,但我可以接收邮件,但每次发送邮件都会出现此错误消息。 SMTP-
问题内容: 我正在Windows上使用WampServer来测试站点。我有一个注册系统,用户会收到一封确认电子邮件。 是否可以从本地主机发送电子邮件? 问题答案: 如果要直接从本地主机发送电子邮件,则需要安装邮件传输代理(MTA),或者安装SMTP服务。 IIS提供了一个。否则,您可以在Google上找到其他人。 您也可以更改 邮件设置。这将不使用每条说来发送电子邮件,而是用于允许您从PHP脚本发
问题内容: 问题答案: $config = Array( ‘protocol’ => ‘smtp’, ‘smtp_host’ => 'ssl://smtp.googlemail.com’, ‘smtp_port’ => 465, ‘smtp_user’ => ‘xxx’, ‘smtp_pass’ => ‘xxx’, ‘mailtype’ => ‘html’, ‘charset’ => ‘iso-8