当前位置:  技术问答>java相关

javamail 的附件。。

    来源: 互联网  发布时间:2015-10-07

    本文导语:  请问各件大哈,我读取一个MAIL服务器得一个邮件的列表,但我如何确定一个邮件里面的附件并将他显示出来供下载? | 就80分问这么多东西,你真会过,其实你可以看看这些。 这些是我搜集...

请问各件大哈,我读取一个MAIL服务器得一个邮件的列表,但我如何确定一个邮件里面的附件并将他显示出来供下载?

|
就80分问这么多东西,你真会过,其实你可以看看这些。
这些是我搜集的。
本文章对:
发送普通邮件,接受普通邮件
发送带有附件的邮件,接收带有附件的邮件
发送html形式的邮件,接受html形式的邮件
发送带有图片的邮件等做了一个总结。
------------------------------------------------------------
/*注意点:
1。开发环境:jbuilder5,jdk1.2.2,javamail and javabeans activation framework.
Task 1:Download the latest version of the JavaMail API implementation from Sun.
Task 2:Download the latest version of the JavaBeans Activation Framework from Sun.
Task 3:Unzip the downloaded packages. You get a ZIP file for all platforms for both packages.You can use the jar tool to unzip the packages.
Task 4:Add the mail.jar file from the JavaMail 1.2 download and the activation.jar file from the JavaBeans Activation Framework download to your CLASSPATH.Copy the files to your extension library directory. For Microsoft Windows, and using the default installation copy, the command might look like the following:
cd javamail-1.2
copy mail.jar jdk1.3jrelibext
cd jaf-1.0.1
copy activation.jar jdk1.3jrelibext
If you don't like copying the files to the exention library directory, detailed instructions are available from Sun for setting your CLASSPATH on Windows NT.
Task 5:Go into the demo directory that comes with the JavaMail API implementation and compile the msgsend program to send a test message.
Task 6:Execute the program passing in a from address with the -o option, your SMTP server with the -M option, and the to address (with no option). You'll then enter the subject, the text of your message, and the end-of-file character (CTRL-Z) to signal the end of the message input.
Be sure to replace the from address, SMTP server, and to address.java msgsend -o from@address -M SMTP.Server to@address
If you are not sure of your SMTP server, contact your system adminstrator or check with your Internet Service Provider.
Task 7:Check to make sure you received the message with your normal mail reader (Eudora, Outlook Express, pine, ...).
*/

package mail_send_rec_byjm;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import javax.mail.*;
import java.util.*;
import javax.mail.internet.*;
import java.io.*;
import javax.activation.*;


  public   String host="smtp.163.com";
  public   String username="abcdefg";
  public   String password="abcdefg";
  public   String mail_head_name="this is head of this mail";
  public   String mail_head_value="this is head of this mail";
  public   String mail_to="xyz@163.com";
  public   String mail_from="abcdefg@163.com";
  public   String mail_subject="this is the subject of this test mail";
  public   String mail_body="this is the mail_body of this test mail";
  void jButton1_actionPerformed(ActionEvent e) {
       try
         {//此段代码用来发送普通电子邮件
            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);
           //设置session,和邮件服务器进行通讯。
            MimeMessage message = new MimeMessage(session);
            message.setContent("Hello","text/plain");//设置邮件格式
            message.setSubject(mail_subject);//设置邮件主题
            message.setText(mail_body);//设置邮件正文
            message.setHeader(mail_head_name,mail_head_value);//设置邮件标题
            message.setSentDate(new Date());//设置邮件发送日期

            Address address = new InternetAddress(mail_from,"sunxiaoming");
            message.setFrom(address); //设置邮件发送者的地址

         //如果要对邮件发送者进行多个参数的设置,可以用以下语句
         // Address address[] = {new InternetAddress("sunxm@oaklet.co.jp","sunxmatoaklet"),new InternetAddress("firstsxm@hotmail.com","sunxmathotmail")};
        //  message.addFrom(address);

            Address toAddress = new InternetAddress(mail_to);//设置邮件接收方的地址
            message.addRecipient(Message.RecipientType.TO,toAddress);
        //  Address ccAddress = new InternetAddress("firstsxm@hotmail.com");//设置邮件抄送者的地址
       //   message.addRecipient(Message.RecipientType.CC,ccAddress);


            Transport.send(message);//发送邮件
     /*    // to get a specific instance from the session for your protocol.pass along the username and password
         // (blank if unnecessary).send the message,and close the connection;
            message.saveChanges();
            Transport transport = session.getTransport("smtp");
            transport.connect(host,username,password);
            transport.sendMessage(message,message.getAllRecipients());
            transport.close();
*/
            System.out.println("send ok!");
         }
       catch(Exception ex)
         {
            System.out.println("faild"+ex);
         }
  }


|
我的做法是点附件的时候直接从附件存储的地方,比如数据库读取附件,然后判断附件类型,修改response的头部分,以流的形式返回浏览器。
在浏览器看来就是一个下载对话框。

    
 
 

您可能感兴趣的文章:

  • 为什么用JAVAMAIL发附件,用OUTLOOK收下来附件文件名的中文成了乱码
  • 怎么用javamail发送附件,小弟刚接触,请各位大侠指教,谢谢!!!
  • 请问各位大虾,不用javaMail如何才能发送附件。
  • javamail附件名称的问题
  • javaMail怎么发送多附件???
  • javamail的中文附件名问题。。。:(
  • 我用javamail包,取Mail的附件时,为什么的不到中文字符串?
  • 用JavaMail发带附件的mail
  • 怎样显示javamail的附件名为中文?
  • 还是javamail附件中文名字显示问题。
  • 请问javamail是怎么实现附件的发送和接受的?
  • 请问如何在JAVAMAIL中显示图片,如果附件中不是图片,如何给它加上链接让用户下载呢?
  • 高手请帮忙!!JAVAMAIL开发接收中文附件问题,解决再送100
  • javaMail接收附件的问题
  • 用javamail发送附件名为中文名时的一个问题,送分45!!!!
  • javamail 中发邮件时中文附件名的问题
  • 用JavaMail接收邮件时如何判断邮件是否有附件?
  • 如何JavaMail不将附件Base64编码!
  • 问一个通过javamail保存附件的问题
  • javamail附件中文名字乱码问题!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 急! 500分求助! javamail VS esmtp server 的不兼容性问题, javamail高手请进
  • 请给一个javamail的程序实例和javamail api 的下载地址100分!
  • 在那里能下载javamail,高分送上
  • 初学javamail
  • mysql iis7站长之家
  • javamail如何安装?? (45分)
  • 请问使用JavaMail如何将一个邮件原样转发给另外一个人?
  • 请问使用JavaMail如何将一个邮件原样转发给另外一个人?
  • javamail-android
  • 怎样使用javamail发送带有html格式信息的文件
  • 请问JavaMail的API在什么地方(我用的是VisualAge for java 4.0),急!
  • 用javamail怎么可以成批发送
  • 关于javamail的奇怪问题,请大家相助!
  • jbuilder ,javamail 问题
  • javamail如何删除服务器上的邮件?
  • 那里有javamail的教程?
  • javamail的monitor例子问题
  • 请问谁知道到哪里去下载javamail的api文档??
  • 急:jbuilder6.0中怎么安装javamail???
  • javamail的问题??谢谢你的关注!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3