无法使用Javamail API发送带附件的邮件

时间:2012-02-11 10:39:01

标签: java email java-ee javamail

我正在尝试发送包含这些代码的电子邮件,但是有错误。

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 = "myemail@hotmail.com";
  String to = "recipientemail@hotmail.com";

  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的初学者

提前致谢!

1 个答案:

答案 0 :(得分:0)

听起来你正试图在网络服务器中这样做。

您需要以某种方式告诉Web服务器如何调用您的代码。最简单的方法是,最有可能在JSP页面中执行此操作。