[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now

x
?
Solved

javax.mail intermittent problem

Posted on 2007-12-03
9
Medium Priority
?
330 Views
Last Modified: 2010-04-21
Hi All,

We are using javax.mail to send email from our JSP application. Recently, we encountered intermittent problem. The mails were being sent from the application but the some of the recipients did not receive their mails. The mails are being sent to each of the recipients one at a time. We knew that the mail was being sent because the application will print "Mail sent successfully" otherwise it will print "Mail sent failed".

What is the likely cause of the problem? Thanks.


I have attached a sample code of sending mail.
    import java.io.*;
    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.activation.*;
    
    public class SendApp {
        public static void send(String smtpHost, int smtpPort,
                                String from, String to,
                                String subject, String content)
                throws AddressException, MessagingException {
          
            try {
                // Create a mail session
                java.util.Properties props = new java.util.Properties();
                props.put("mail.smtp.host", smtpHost);
                Session session = Session.getDefaultInstance(props, null);
    
                // Construct the message
                Message msg = new MimeMessage(session);
                msg.setFrom(new InternetAddress(from));
                msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
                msg.setSubject(subject);
                msg.setText(content);
    
               // Send the message
               Transport.send(msg);
               System.out.println("\nMail sent Successfully to "+to.trim() + " email: "+subject.trim()+".");
 
           } catch (Exception e) {
		e.printStackTrace();
			
						System.out.println("\nMail sent FAILED to "+to.trim() + " email: "+subject.trim()+".");
	   }
 
        }
    
        public static void main(String[] args) throws Exception {
            // Send a test message
            send("hostname", "joe@smith.com", "sue@smith.com",
                 "re: dinner", "How about at 7?");
        }
    }

Open in new window

0
Comment
Question by:rospcc
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
9 Comments
 
LVL 13

Expert Comment

by:kawas
ID: 20400847
Could be spam filters ... Do the same ones fail all of the time?
0
 

Author Comment

by:rospcc
ID: 20400964
No, it was different ones. My application has two different types of emails. The two types are one with attachment and one without. The code snippet that i showed earlier is used to send mail without attachment. Most of the mails that failed are those with attachment.
0
 
LVL 92

Accepted Solution

by:
objects earned 800 total points
ID: 20401218
have u checked for bounces
and if you have access to the smtp server check its queues/logs
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 35

Expert Comment

by:TimYates
ID: 20401870
Can you post the code for the mails that failed?
0
 
LVL 35

Expert Comment

by:TimYates
ID: 20401874
Actually, I agree more with objects...  The sendmail logs will probably be the first place to check...
0
 

Author Comment

by:rospcc
ID: 20408574
sorry ...but where can i check the sendmail logs?
0
 
LVL 35

Assisted Solution

by:TimYates
TimYates earned 800 total points
ID: 20410228
On our linux system, they are located at:

  /var/log/maillog

Tim
0
 
LVL 19

Assisted Solution

by:Kuldeepchaturvedi
Kuldeepchaturvedi earned 400 total points
ID: 20415268
it depends on the host that you are using... if its connecting an outlook/lotus server , then these servers will have a que where you can check the logs

In short: whatever SMTP host you are connecting to, will have logs of the mails going thru it.
0
 

Author Closing Comment

by:rospcc
ID: 31412515
They restarted the SMTP server, and the mails can be sent out successfully again after that.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
This was posted to the Netbeans forum a Feb, 2010 and I also sent it to Verisign. Who didn't help much in my struggles to get my application signed. ------------------------- Start The idea here is to target your cell phones with the correct…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
Suggested Courses

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question