匿名发送来自javamail的电子邮件

时间:2010-11-15 22:05:04

标签: java email gmail javamail

我有一个应用程序可以读取来自一个电子邮件帐户(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 + "]");

提前谢谢

1 个答案:

答案 0 :(得分:2)

Gmail很可能不允许您从您选择的任何地址发送电子邮件(这就是它在普通网络界面中的情况,所以我希望它在SMTP界面中的表现也是如此)。您可能没有解决方案,但可以使用其他邮件服务器来发送电子邮件。在Gmail的设置中将备用地址注册为您自己的地址也可能有效。