0

I am trying to send mail using apache james server. I have done with all james configuration.
My code executes correctly there is no exception. But mail could not deliver.
Here is my sample code

public void sendMail(String toField, String subject, Users user, 
                               HttpServletRequest request)throws Exception {
    // TODO Auto-generated method stub
    logger.info("sending mail....");
    String loginLink = request.getScheme()  +"://" + request.getServerName() 
     + ":" + request.getServerPort() + request.getContextPath()+"/auth/login";

    // Prepare the evaluation context 
    final WebContext ctx = new WebContext(request, request.getSession()
                                    .getServletContext(),request.getLocale());

    ctx.setVariable("eagletId", user.getEagletId()); 
    ctx.setVariable("name", user.getFirstName());
    ctx.setVariable("setSentDate", new Date()); 
    ctx.setVariable("password", user.getPassword()); 
    ctx.setVariable("link",loginLink);

    // Create a mail session  
    Properties properties = new Properties();  
    properties.put("mail.smtp.host", "localhost");  
    properties.put("mail.smtp.port", "25");  
    properties.put("mail.smtp.username", "coepleap");  
    properties.put("mail.smtp.password", "coepleap");  
    Session session = Session.getDefaultInstance(properties,new Authenticator() {
        protected PasswordAuthentication getpassAuthentication(){
            return new PasswordAuthentication("coepleap", "coepleap");
        }
    });

    MimeMessage message = new MimeMessage(session);
    MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
    message.setFrom(new InternetAddress("coepleap"));
    message.addRecipient(Message.RecipientType.TO, new InternetAddress(toField));
    helper.setSubject(subject);

    final String htmlContent = this.templateEngine.process("email.html",ctx);
    helper.setText(htmlContent,true);
    Transport.send(message);        
 }

}

anyone who can help me out?

2 Answers2

1

this is code to send mail using gmail

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendMail {

public static void main(String[] args) {

    final String username = "username";
    final String password = "fghdf";

    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.port", "587");

    Session session = Session.getInstance(props,
      new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }
      });

    try {

        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress("from user"));
        message.setRecipients(Message.RecipientType.TO,
            InternetAddress.parse("to user"));
        message.setSubject("Testing Subject");
        message.setText("Dear user ,"
            + "\n\n your username is xxx and pasword is yyy");

        Transport.send(message);

        System.out.println("Done");

    } catch (MessagingException e) {
        throw new RuntimeException(e);
    }
}

}

Chris Knight
  • 24,333
  • 24
  • 88
  • 134
0

Most likely you're not meeting Gmails requirements for delivery. It's probably not being able to resolve the sender via rdns and bounching it. Probably think you're a spammer.

Half_Duplex
  • 5,102
  • 5
  • 42
  • 58