2012-02-11 75 views
0

我想用這些代碼發送電子郵件,但出現錯誤。無法使用Javamail API發送帶有附加文件的郵件

import java.util.*; 
import javax.mail.*; 
import javax.activation.*; 
import javax.mail.internet.*; 

public class SendEmail { 

    public static void main(String args[]) throws Exception { 
    String host = "localhost"; 
    String from = "[email protected]"; 
    String to = "[email protected]"; 

    Properties properties = System.getProperties(); 

    properties.setProperty("mail.smtp.host", host); 

    Session session = Session.getDefaultInstance(properties); 

    Message message = new MimeMessage(session); 
    message.setFrom(new InternetAddress(from)); 
    message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); 
    message.setSubject("JavaMail Attachment"); 

    BodyPart messageBodyPart = new MimeBodyPart(); 

    messageBodyPart.setText("hi"); 

    Multipart multipart = new MimeMultipart(); 
    multipart.addBodyPart(messageBodyPart); 

    //attachment 
    messageBodyPart = new MimeBodyPart(); 
    String filename = "C:/Users/ME/Desktop/file.txt"; 
    DataSource source = new FileDataSource(filename); 
    messageBodyPart.setDataHandler(new DataHandler(source)); 
    messageBodyPart.setFileName(filename); 
    multipart.addBodyPart(messageBodyPart); 

    message.setContent(multipart); 

    Transport.send(message); 
    System.out.println("Msg Send ...."); 
    } 
} 

我收到'HTTP狀態404'錯誤,說明是「請求的資源()不可用」。
我可以知道爲什麼以及如何解決這個問題嗎?
對不起,我是編程和java的初學者

在此先感謝!

+0

請給我們一個堆棧跟蹤或發生錯誤的行。 – Thor 2012-02-11 10:45:41

+0

它從不指定發生錯誤的行。它僅指向顯示HTTP狀態404的頁面,其中包含我在問題中提到的描述。 – Lloydworth 2012-02-11 10:50:27

+0

你不記錄任何東西?你沒聽說過「異常處理」這個詞嗎? – MozenRath 2012-02-11 10:54:36

回答

0

聽起來就像你正在試圖在網絡服務器中這樣做。

您需要以某種方式告訴Web服務器如何調用您的代碼。最簡單的方法是,最有可能在JSP頁面內部完成此操作。