Hem takvim daveti hem de html içeriği olan ileti gövdesi olan bir posta göndermek istiyorum, aşağıdaki kodu denedim ancak gönderilen posta dosya eki olarak html içeriğine sahipti Bunun yerineTakvim ile otomatik posta gönderme java ile davet et
multipart.addBodyPart(messageBody);
multipart.addBodyPart(messageCalendar);
: yanlış
public class MailSender
{
public static void sendMail(String emailId,String subject,String mailBody)
{
PropertyWriter pw=new PropertyWriter();
try
{
pw.instantiateReadObjects();
}
catch (IOException e)
{
e.printStackTrace();
}
try
{
String smtpHost=pw.getHostNameMail();
String smtpPort=pw.getPortNumber();
final String fromAddress=pw.getEmailSource();
final String password=pw.getEmailPassword();
String SSL_FACTORY="javax.net.ssl.SSLSocketFactory";
Properties props=new Properties();
props.put("mail.smtp.host", smtpHost);
props.put("mail.smtp.auth", "true");
props.put("mail.debug","true");
props.put("mail.smtp.port", smtpPort);
props.put("mail.smtp.socketFactory.port",smtpPort);
props.put("mail.smtp.socketFactory.class",SSL_FACTORY);
props.put("mail.smtp.starttls.enable","ture");
props.put("mail.smtp.socketFactory.fallback","false");
Session ses=Session.getDefaultInstance(props,new javax.mail.Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(fromAddress,password);
}
});
ses.setDebug(true);
Message msg=new MimeMessage(ses);
InternetAddress addressFrom=new InternetAddress(fromAddress);
msg.setFrom(addressFrom);
InternetAddress addressTo=new InternetAddress(emailId);
msg.setRecipient(Message.RecipientType.TO, addressTo);
msg.setSubject(subject);
StringBuffer sb = new StringBuffer();
System.out.println(mailBody);
StringBuffer buffer = sb.append("BEGIN:VCALENDAR\n" +
"PRODID:-//Microsoft Corporation//Outlook 9.0 MIMEDIR//EN\n" +
"VERSION:2.0\n" +
"METHOD:REQUEST\n" +
"BEGIN:VEVENT\n" +
"ATTENDEE;ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:"+emailId+"\n" +
"ORGANIZER:MAILTO:"+pw.getEmailSource()+"\n" +
"DTSTART:20051208T053000Z\n" +
"DTEND:20051208T060000Z\n" +
"LOCATION:+TH-1\n" +
"TRANSP:OPAQUE\n" +
"SEQUENCE:0\n" +
"UID:040000008200E00074C5B7101A82E00800000000002FF466CE3AC5010000000000000000100\n" +
" 000004377FE5C37984842BF9440448399EB02\n" +
"DTSTAMP:20051206T120102Z\n" +
"CATEGORIES:Session\n" +
"DESCRIPTION:\n\n" +
"SUMMARY:Session for tomorrow\n" +
"PRIORITY:5\n" +
"CLASS:PUBLIC\n" +
"BEGIN:VALARM\n" +
"TRIGGER:PT1440M\n" +
"ACTION:DISPLAY\n" +
"DESCRIPTION:Reminder\n" +
"END:VALARM\n" +
"END:VEVENT\n" +
"END:VCALENDAR");
// Create the message part
BodyPart messageCalendar = new MimeBodyPart();
// Fill the message
messageCalendar.setHeader("Content-Class", "urn:content- classes:calendarmessage");
messageCalendar.setHeader("Content-ID", "calendar_message");
messageCalendar.setContent(mailBody, "BAKCHODI");
messageCalendar.setDataHandler(new DataHandler(
new ByteArrayDataSource(buffer.toString(), "text/calendar")));
MimeBodyPart bc = new MimeBodyPart();
bc.setContent(mailBody,"text/html");
BodyPart messageBody = bc;
Multipart multipart = new MimeMultipart();
// Add part one
multipart.addBodyPart(messageCalendar);
multipart.addBodyPart(messageBody);
//Put parts in message
msg.setContent(multipart);
Transport.send(msg);
}
catch(Exception e)
{
}
}
}
Eklentileriniz var mı? Eğer öyleyse ne ek olmalı? –
Eklenti olmak istemiyorum Mime türü html olan bir mesaj gövdesine sahip olmak istiyorum. Aslında ben html tablo biçiminde veri oluşturuyorum, bu posta gövdesinin bir parçası olmak istiyorum –