Bookmark Topic Watch Topic
  • New Topic

How to Display an Email with an image on Different Email Account Using javax.mail

 
Khalid Gul
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Report post to moderator
Hi There again ,
we have a problem in displaying an image on other Email Account
when we send an email with an image from our own Email Application ,
Email Body opens successfully but image is not being displayed.



The class of Email which we have written for sending Email is written below;

//---------------start of class-------

package HandlerBeans.Email;

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

public class EmailHandler
{
public EmailHandler() { }//constructor

// public static boolean sendEmail(String from,String to,String subject,String body,String FilePath)


public boolean sendEmail(String from,String to,String subject,String body,String FilePath)
{
boolean debug= false;
String host = "smtp.multi.net.pk";
String filename = FilePath;
String msgText1 = body ;
// create some properties and get the default Session
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
Session session1 = Session.getDefaultInstance(props, null);
session1.setDebug(debug);
try {
// create a message
MimeMessage msg = new MimeMessage(session1);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = InternetAddress.parse(to);
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject);
// create and fill the first message part
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setText(msgText1);
// create the Multipart and its parts to it
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbp1);
if(!filename.equals(""))
{
String fname = filename;
MimeBodyPart mbp2 = new MimeBodyPart();
// attach the file to the message
FileDataSource fds = new FileDataSource(fname);
mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(fds.getName());
mp.addBodyPart(mbp2);
}
// add the Multipart to the message
msg.setContent(mp);

// set the Date: header
msg.setSentDate(new java.util.Date());

// send the message
Transport.send(msg);

}
catch (MessagingException mex) {

mex.printStackTrace();
Exception ex = null;
if ((ex = mex.getNextException()) != null)
{
ex.printStackTrace();
}
return false;
}

return true;
}


}

// ---------------------- end of class -------------------


JSP code is written below
where we are calling the method
sendEmail(String from,String to,String subject,String body,String FilePath) for sending Email


//--------------- JSP Code start--------------------

<%@ page language="java" import="com.jspsmart.upload.*"%>
<%@ page import="java.sql.*,java.util.*,java.io.*"%>

<jsp:useBean id="emailhandlerBean" scope="page" class="HandlerBeans.Email.EmailHandler"/>

<%

String from="david@lonestarasp.com";
String to="kamran@hotmail.com";
String subject="Qurey About Email Image";

String body= "'<html><head></head><body><table>
<tr><td><strong> From LoneStarASp.Inc </strong ></tr></td></table>
<img src=http://www.mysite.com/image/image1.gif > </body></html>'" ;

String FilePath=null; //it means no file is attached

// email is going to send here

emailhandlerBean.sendEmail( from , to , subject , body , FilePath) ;

%>

//-------------------- jsp code end --------------



Can someone pleaseeeee tell us what are we doing wrong here, we would be very gratefull. Thanks a million.

K.Gul
 
Bear Bibeault
Author and ninkuma
Marshal
Posts: 65530
105
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Report post to moderator
Please do not repeat the same question. Continue discussion here.
 
    Bookmark Topic Watch Topic
  • New Topic
Boost this thread!