问题描述:
是通过邮件正文而不是附件形式发。
1、经常收到一些网站发来的广告,这些广告直接就是漂亮的网页。可是自己也想发的时候,不知道怎么发(比如用新浪的邮箱就不知怎样去发网页)。请问怎样才能使邮件正文是HTML格式呢?
2、怎样才能使网页的字体段落等格式在邮件中保持不变呢?
解析:
不太清楚可以转换成txt文档然后有的邮箱自动变成文件显示出来
发送html格式的邮件void jButton8_actionPerformed(ActionEvent e) {try
{//此段代码用来发送带有html信息的邮件
Properties props = new Properties()
Authenticator auth = new Email_Autherticator()
props.put( "mail.smtp.host ",host)
props.put( "mail.smtp.auth ", "true ")
Session session = Session.getDefaultInstance(props,auth)
MimeMessage message = new MimeMessage(session)
//设置邮件正文
String htmltext= " <h1>hello </h1>"+ " <a href=\ " http://www.sina.com.cn\ " target=\ "_blank\ ">click me please! </a>"
message.setContent(htmltext, "text/html ")//text/plain设置邮件的格式因为是带有html文档的,所以用text/html格式
message.setSubject(mail_subject)
// message.setText(mail_body)在使用message.setContent()时候,好象不能用message.setText()
message.setHeader(mail_head_name,mail_head_value)
message.setSentDate(new Date())
Address address = new InternetAddress(mail_from, "sunxiaoming ")
message.setFrom(address)
Address toAddress = new InternetAddress(mail_to)
message.addRecipient(Message.RecipientType.TO,toAddress)
Transport.send(message)
System.out.println( "send ok! ")
}
catch(Exception ex)
{
System.out.println( "faild "+ex)
}
}
void jButton9_actionPerformed(ActionEvent e) {
try
{//此段代码用来发送带有图片的邮件
String file = "./20020423/test.gif "
Properties props = new Properties()
Authenticator auth = new Email_Autherticator()
props.put( "mail.smtp.host ",host)
props.put( "mail.smtp.auth ", "true ")
Session session = Session.getDefaultInstance(props,auth)
MimeMessage message = new MimeMessage(session)
message.setSubject( "Embedded Image ")
Address address = new InternetAddress(mail_from, "sunxiaoming ")
message.setFrom(address)
Address toAddress = new InternetAddress(mail_to)
message.addRecipient(Message.RecipientType.TO,toAddress)
message.setHeader(mail_head_name,mail_head_value)
message.setSentDate(new Date())
BodyPart messageBodyPart = new MimeBodyPart()
String htmlText = " <h1><hello></h1>"+ " <img src=\ "cid:memememe\ ">"//加入图片
messageBodyPart.setContent(htmlText, "text/html ")
//原理同发送附件一样,将邮件看成有多个部分组成的,先设置每一个部分,然后再全部将它们合起来即可。
//Create a related multi-part to combine the parts
MimeMultipart multipart = new MimeMultipart( "related ")
multipart.addBodyPart(messageBodyPart)
//Create part for the image
messageBodyPart = new MimeBodyPart()
//Fetch the image and associate to part
DataSource fds = new FileDataSource(file)
messageBodyPart.setDataHandler(new DataHandler(fds))
messageBodyPart.setHeader( "Content-ID ", "memememe ")
//Add part to multi-part
multipart.addBodyPart(messageBodyPart)
//Associate multi-part with message
message.setContent(multipart)
Transport.send(message)
System.out.println( "send ok! ")
}
catch(Exception ex)
{
System.out.println( "faild "+ex)
}
}
void jButton7_actionPerformed(ActionEvent e) {
try
{//该程序用来接受带有html信息的邮件
Properties props = System.getProperties()
Authenticator auth = new Email_Autherticator()
props.put( "mail.smtp.host ",host)
props.put( "mail.smtp.auth ", "true ")
Session session = Session.getDefaultInstance(props,auth)
Store store = session.getStore( "pop3 ")
store.connect(host,username,password)
//After connecting to the Store,you can get a Folder,which must be opened before you can read messages from it:
Folder folder = store.getFolder( "INBOX ")
folder.open(Folder.READ_WRITE)
Message message[] = folder.getMessages()
for (int i=0,n=message.lengthi <ni++)
// for (int i=0,n=1i <ni++)//only one letter received from inbox //for debug
{
String out_from_person = ((InternetAddress)message[i].getFrom()[0]).getPersonal()
String out_from_address = ((InternetAddress)message[i].getFrom()[0]).getAddress()
System.out.println( "From: "+out_from_person+ "\t ")
System.out.println( "Address: "+out_from_address+ "\t ")
String out_subject = message[i].getSubject()
System.out.println( "Subject: "+out_subject+ "\t ")
//获取邮件的信息,并且对其每一部分进行 *** 作
Part messagePart = message[i]
Object out_content = messagePart.getContent()
if (out_content instanceof Multipart)
{
messagePart = ((Multipart)out_content).getBodyPart(0)
System.out.println( "[ Multipart Message ] ")
}
String out_content_type = messagePart.getContentType()
System.out.println( "CONTENT: "+out_content_type)
jEditorPane1.setText( " ")//将其显示在jEditorPanel上
jEditorPane1.setContentType( "text/html ")
jEditorPane1.setText((String)out_content)
jEditorPane1.setEditable(false)
/*
if (out_content_type.startsWith( "text/plain ") || out_content_type.startsWith( "text/html "))
{
InputStream ipstm = messagePart.getInputStream()
BufferedReader bufreader = new BufferedReader(new InputStreamReader(ipstm))
String thisLine = bufreader.readLine()
while (thisLine != null)
{
System.out.println( "thisLine: "+thisLine)
thisLine = bufreader.readLine()
}
}
*/
System.out.println( "------------------------------------------------------------ ")
message[i].setFlag(Flags.Flag.DELETED,true)
}
folder.close(true)
store.close()
}
catch(Exception ej2)
{
System.out.println(ej2)
}
}
分类: 电脑/网络 >>互联网问题描述:
我想在QQ邮箱里发送我做的HTML网页,可是总是显示代码,只有点显示乱码才能出现我要的东西,请问怎么回事,急~~QQ:4558050
解析:
做成RAR的压缩包在发送就OK了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)