我有一个应用程序可以读取来自一个电子邮件帐户(gmail应用程序帐户)的电子邮件,但此帐户有许多别名x@domain.com y@domain.com和x@domain.com,他们都发送电子邮件MAIN@domain.com < / p>
我已经设置了一个java应用程序来从MAIN@domain.com上阅读邮件,但是根据别名,它应该回复来自别名的电子邮件,而不是显示主要电子邮件,所有内容都被转发到。
每次我测试时都会忽略from别名,只需从MAIN@domain.com发送
我怎么能改变这个?!
代码
字符串SMTP_HOST_NAME =“smtp.gmail.com”;
Properties props = new Properties();
props.put("mail.smtps.host", SMTP_HOST_NAME);
props.put("mail.smtps.auth", "false");
Session mailSession = Session.getInstance(props);
try {
MimeMessage message = new MimeMessage(mailSession);
message.setFrom(new InternetAddress(AliasEmail));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(email + carrier));
message.setSubject(FileUtils.readFileToString(new File(Alias
+ "-confirm-subject.txt")));
message.setText(FileUtils.readFileToString(new File(Alias + "-confirm.txt")),
"text/plain");
message.setContent(FileUtils.readFileToString(new File(Alias + "-confirm.html")),
"text/html");
Transport transport = mailSession.getTransport("smtps");
transport.connect(SMTP_HOST_NAME, MAINuser, MAINpassword);
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
transport.close();
logger.info("Email Confirmation Sent = [" + Alias + carrier + "]");
提前谢谢
答案 0 :(得分:2)
Gmail很可能不允许您从您选择的任何地址发送电子邮件(这就是它在普通网络界面中的情况,所以我希望它在SMTP界面中的表现也是如此)。您可能没有解决方案,但可以使用其他邮件服务器来发送电子邮件。在Gmail的设置中将备用地址注册为您自己的地址也可能有效。