Java send mail - как использовать «Отправить через» - PullRequest
2 голосов
/ 29 ноября 2011

Мы отправляем письма из нашей локальной системы.Мы получили наши IP в белый список.У нас есть сценарий, в котором мы должны отправить электронное письмо от имени кого-либо.Например: наш идентификатор электронной почты: support@mycompany.com, но нам нужно отправить электронное письмо с адресом от: john@abc.com

Когда мы отправляем с адресом, отличным от адреса, клиент получателя показывает «фишинг»" ошибка.Одним из решений является использование «через», как показано в ссылке Google https://mail.google.com/support/bin/answer.py?hl=en&ctx=mail&answer=185812 enter image description here

Мы также хотим, чтобы сообщение отображалось в почтовом ящике получателей таким образом.Любые указатели в этом помогут нам очень.заранее спасибо.Примечание: мы используем localhost как smtp.

1 Ответ

1 голос
/ 30 ноября 2011
    Read about email headers. you can add email headers while creating the mail message at runtime.

    import javax.mail.*;
    import javax.mail.internet.*;
    import java.util.*;

    public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException
    {
        boolean debug = false;

         //Set the host smtp address
         Properties props = new Properties();
         props.put("mail.smtp.host", "smtp.jcom.net");

        // create some properties and get the default Session
        Session session = Session.getDefaultInstance(props, null);
        session.setDebug(debug);

        // create a message
        Message msg = new MimeMessage(session);

        // set the from and to address
        InternetAddress addressFrom = new InternetAddress(from);
        msg.setFrom(addressFrom);

        InternetAddress[] addressTo = new InternetAddress[recipients.length]; 
        for (int i = 0; i < recipients.length; i++)
        {
            addressTo[i] = new InternetAddress(recipients[i]);
        }
        msg.setRecipients(Message.RecipientType.TO, addressTo);


        // Optional : You can also set your custom headers in the Email if you Want
        msg.addHeader("MyHeaderName", "myHeaderValue");

        // Setting the Subject and Content Type
        msg.setSubject(subject);
        msg.setContent(message, "text/plain");
        Transport.send(msg);
    }


for further reading check this : 

http://www.javacommerce.com/displaypage.jsp?name=javamail.sql&id=18274 http://javamail.kenai.com/nonav/javadocs/javax/mail/internet/package-summary.html @ http://javamail.kenai.com/nonav/javadocs/javax/mail/internet/MimeMessage.html

Вы также можете создавать псевдонимы для сервера smtp.

...