• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

How to send email in text format?

 
Ranch Hand
Posts: 146
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello Everybody,

I have a .csv file, in which details about emp-name, salary and email address are stored.
My application reads this .csv file, and sends a mail to respective employee with his id, salary and other details.

My problem: The mail sent to each employee is in html format. But, I want to send an e-mail in text format. (a .txt file as an attachment will do) I tried changing content type to text. Then, I got following error:

Error:
e=javax.mail.internet.ParseException

Code:
------------------------------------
try
{String s1="";
File f1 = new File(way2);

FileInputStream fstream = new FileInputStream(f1); //new

BufferedReader br = new BufferedReader(new InputStreamReader(fstream));

int count=0;
//while((eachRow() = br.readLine()) != null && eachRow.trim().length() > 0){

while((s1=br.readLine())!=null )
{
count++;
//out.println("within while loop "+count);
StringTokenizer st = new StringTokenizer(s1,",");
/*int z=s1.eachRow.trim().length();
out.println("Loop"+count+" "+"Length="+z);*/
if ((st.hasMoreTokens())&&(count>1))
{
String a=st.nextToken().trim();
String b=st.nextToken();
String c=st.nextToken();
String d=st.nextToken();
String e=st.nextToken();
String f=st.nextToken();
String g=st.nextToken();
String h=st.nextToken();
String i=st.nextToken();
String j=st.nextToken();
String k=st.nextToken();
String l=st.nextToken();
String m=st.nextToken();
String n=st.nextToken();
String o=st.nextToken();
String p=st.nextToken();
String q=st.nextToken();
String mail=st.nextToken();
String s=st.nextToken();
%>

</tr>
<!--Creating a user defied function to send the mail for each mail id and calling it here.-->
<%
String to =mail;
String from =request.getParameter("fromadd");
String subject ="Employee details";
String smtp ="mail.xxxxxxxxx.com";
String blank=" ";
String message="<html>";
out.println(message);
message=message.concat("<head>");
message=message.concat("</head>");
message=message.concat("<body>");
message=message.concat("<H2 align=center>");
message=message.concat("<FONT COLOR=red>");
message=message.concat("Emplyoee details");
message=message.concat("</H2>");
message=message.concat("</FONT>");
message=message.concat("<TABLE WIDTH=100% COLS=19 BORDER=1>");
message=message.concat("<TD><FONT size=3 COLOR=blue><b>EMP ID</TD>");
message=message.concat("<TD> Name</TD>");
message=message.concat("<TD>Dept. No.</TD>");
message=message.concat("<TD>Acc.No.</TD>");
message=message.concat("<TD>Bank</TD>");
message=message.concat("<TD>GFNO</TD>");
message=message.concat("<TD>Sales</TD>");
message=message.concat("<TD>LOCTRAVL</TD>");

message=message.concat("<TD>Subspn</td>");
message=message.concat("<TD>Entmnt</TD>");
message=message.concat("<TD>Incentieve</TD>");
message=message.concat("<TD>Conf</TD>");
message=message.concat("<TD>Mobile</TD>");
message=message.concat("<TD>Others</TD>");
message=message.concat("<TD>Advance</td>");
message=message.concat("<TD>Ticketamt</TD>");
message=message.concat("<TD>Net</td>");
message=message.concat("</td>Rem</TD>");
message=message.concat("</b></font></TR>");
message=message.concat("<TR>");
message=message.concat("<TD><FONT size=2>");
message=message.concat(a);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(b);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(c);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(d);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(e);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(f);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(g);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(h);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(i);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(j);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(k);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(l);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(m);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(n);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(o);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(p);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(q);
message=message.concat("</TD>");
message=message.concat("<TD>");
message=message.concat(s);
message=message.concat("</b></font></TD>");
message=message.concat("</TR>");
message=message.concat("</TR>");
message=message.concat("</TABLE>");
message=message.concat("</body>");
message=message.concat("</html>");
//String result="";
Properties props = System.getProperties();
// Puts the SMTP server name to properties object
props.put("mail.smtp.host", smtp);
// Get the default Session using Properties Object
Session session1 = Session.getDefaultInstance(props, null);
// Create a New message
MimeMessage msg = new MimeMessage(session1);
// Set the From address
msg.setFrom(new InternetAddress(from));
// Setting the "To recipients" addresses
msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to, false));
/* // Setting the "cc recipients" addresses
msg.setRecipients(Message.RecipientType.CC,InternetAddress.parse(cc, false));
// Setting the "Bcc recipients" addresses
msg.setRecipients(Message.RecipientType.BCC,InternetAddress.parse(bcc, false)); */
// Sets the Subject
msg.setSubject(subject);
// set the meaasge in Text format
msg.setContent(message,"text");
// Set the Date: header
msg.setSentDate(new java.util.Date());
// Send the message
Transport.send(msg);
// Display Success message
result =result.concat("<tr><td>"+b+"</td>"+"<td>"+to+"</td></tr>");
}//end of if of hasmore element
}// end of while loop
out.println(result);
%>
</table>
<%/*br.close();
fstream.close();*/
/*if(f1.delete())
{
out.println("<table><tr></tr><tr></tr><tr></tr><tr><td><font color=brown><i><b>After sending the mail, file is deleted from Tomcat Server</b></i></font></td></tr></table>");
//System.out.println("After sending the mail, file is deleted from Tomcat Server");
} */
}catch(Exception e)
{
// If here, then error in sending Mail. Display Error message.
result="Unable to send your message";
out.println("e="+e);
//System.out.println("There is an error,Check your program");%>
<h3><% out.println("SORRY, There is an error in mail delivery. Please Check your input.");%></h3>
<a href="previous.jsp"><h2>Back</h2></a>
<% }
----------------------------------------------
Any help will be appreciated.

Thanks in advance,
regards
Ashvini
 
Sheriff
Posts: 67747
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Moved to Other Java APIs.
 
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You should set the content type to the MIME type "text/plain":

msg.setContent(message, "text/plain");

Not to just "text".
 
Anu satya
Ranch Hand
Posts: 146
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you Jesper.

The code is working fine. But, i am finding alignment problem. IF employee name is too big, other columns will shift to right and data will not be exactly under column header. (it is going in zig zag way)

I thought sending text message as an attachment will be the best solution to this.
Any help will be greatly appreciated.
 
Rancher
Posts: 43081
77
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

and sends a mail to respective employee with his id, salary and other details.



You are sending an email that contains salary information? That is a terrible idea from a privacy point of view. How do you guarantee that no one else sees that? What happens if an email bounces - suddenly an administrator may have access to it? What if an email address is mistyped, but still valid? What if someone has opened their email read-only to someone else during vacation? All the same reasons why you don't send login information to systems that contain sensitive information by email apply here as well. I strongly urge you to reconsider this idea.
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic