一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

java mail 发邮件,接邮件,发送邮件附件实现程序

时间:2012-09-26 编辑:简简单单 来源:一聚教程网

送邮件:

Java代码

 代码如下 复制代码
public class JavaMailTest {      
     
    public static void main(String args[]) throws MessagingException {      
        String smtpHost = "smtp.sohu.com";      
        String from = "javamailfrom@sohu.com";      
        String to = "javamailto@sohu.com";      
     
        Properties properties = System.getProperties();      
        Session session = Session.getInstance(properties);      
     
        MimeMessage message = new MimeMessage(session);      
        message.setFrom(new InternetAddress(from));      
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));      
        message.setSubject("JavaMail Example");      
        message.setText("Did it work?");      
        Transport transport = session.getTransport("smtp");      
        transport.connect(smtpHost, "", "");      
     
        transport.sendMessage(message, message.getAllRecipients());      
        transport.close();      
    }      
}     

可能会出现如下错误

'550 5.1.1 : Recipient address rejected: User unknown in virtual mailbox table',

你发送的帐号在邮件系统内不存在,请检查你的邮件地址是否输入有误

 '554 5.7.1 : Sender address rejected: Access denied',

你的邮箱是内部帐号,你所发送的地址不在授权域之内

 

'553 5.7.1 : Sender address rejected: not logged in',

发送邮件需要SMTP身份验证,你的帐号SMTP身份验证部分没有设置正确,请检查配置

 '454 4.7.1 : Client host rejected: Access denied'

你的IP被管理员屏蔽,请检查你部的机器是否被感染病毒自动发送邮件
 

 接收邮件:

Java代码

 代码如下 复制代码
public class JavaMailReadMailTest {      
     
    public static void main(String args[]) throws MessagingException,      
            IOException {      
        String pop3Host = "pop3.sohu.com";      
        String user = "******@sohu.com";      
        String pass = "******";      
        Properties properties = System.getProperties();      
        Session session = Session.getInstance(properties);      
        Store store = session.getStore("pop3");      
        store.connect(pop3Host, user, pass);      
     
        Folder folder = store.getFolder("INBOX");      
        folder.open(Folder.READ_ONLY);      
        Message[] messages = folder.getMessages();      
     
        for (int i = 0; i < messages.length; i++) {      
            System.out.println("nFrom:" + messages[i].getFrom()[0]+ "n"     
                    + "Subject:" + messages[i].getSubject());      
            ContentType ct = new ContentType(messages[i].getContentType());      
            if ("text/html".equalsIgnoreCase(ct.getBaseType())) {      
                BufferedReader reader = new BufferedReader(      
                        new InputStreamReader(messages[i].getInputStream()));      
                String s;      
                while ((s = reader.readLine()) != null) {      
                    System.out.println(s);      
                }      
            } else {      
                Object o = messages[i].getContent();      
                if (o instanceof String) {      
                    System.out.println(o);      
                } else {      
                    System.out.println(messages[i].getContentType());      
                    if (o instanceof MimeMultipart) {      
                        MimeMultipart mp = (MimeMultipart) o;      
                        for (int j = 0; j < mp.getCount(); ++j) {      
                            MimeBodyPart bp = (MimeBodyPart) mp.getBodyPart(j);      
                            System.out.println(bp.getContentType());      
                        }      
                    }      
                }      
            }      
     
        }      
    }      
}     

发送附件:

Java代码

 代码如下 复制代码
public class SendFile {      
    public static void main(String args[]) throws Exception {      
        String host = "smtp.sohu.com";      
        String from = "*******";      
        String to = "*******";      
        String fileAttachment = "d:\FileName";      
     
        Properties properties = System.getProperties();      
     
        Session session = Session.getInstance(properties, null);      
     
        MimeMessage message = new MimeMessage(session);      
        message.setFrom(new InternetAddress(from));      
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));      
        message.setSubject("SendFile");      
     
        MimeBodyPart messageBodyPart = new MimeBodyPart();      
     
        messageBodyPart.setText("Hi");      
     
        Multipart multipart = new MimeMultipart();      
        multipart.addBodyPart(messageBodyPart);      
     
        messageBodyPart = new MimeBodyPart();      
        DataSource source = new FileDataSource(fileAttachment);      
        messageBodyPart.setDataHandler(new DataHandler(source));      
        messageBodyPart.setFileName(fileAttachment);      
        multipart.addBodyPart(messageBodyPart);      
     
        message.setContent(multipart);      
     
        Transport transport = session.getTransport("smtp");      
        transport.connect(host, "", "");      
     
        transport.sendMessage(message, message.getAllRecipients());      
     
        transport.close();      
    }      
}     

热门栏目