Bookmark Topic Watch Topic
  • New Topic

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

 
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
 
Dirk Schreckmann
Sheriff
Posts: 7023
  • Mark post as helpful
  • send pies
  • Report post to moderator
Round these parts, posting the same question in multiple forums is bad practice. It can make it rather difficult to follow a conversation, plus folks spend time saying things that were just said.

Please continue in the duplicate in the Other Java APIs forum.
 
    Bookmark Topic Watch Topic
  • New Topic
Boost this thread!