邮件可以发送出去,就是加上附件不行,在d盘根目录确实存在一个ttt.txt文件,没有任何异常,就是发不出附件,谢谢高手!!
import java.util.Date;
import java.util.Properties;import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;public class JMail{ public static void main(String[] arge) throws Exception {
String from = "[email protected]";
String to = "[email protected]";
String subject = "Test mail";
String body = "A text mail";
Properties props = System.getProperties();
// 设置SMTP邮件服务器:
props.put("mail.smtp.host", "smtp.sohu.com");
props.setProperty("mail.smtp.port", "25");
// SMTP服务器需要验证:
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.auth", "true");
// 传入用户名和口令:
Session session = Session.getDefaultInstance(props,
new PasswordAuthenticator("[email protected]", "password"));
// 创建新邮件:
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false));
msg.setSubject(subject);
msg.setText(body);
msg.setSentDate(new Date());
// 发送:
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.attachFile("sss");
Multipart multi = new MimeMultipart();
FileDataSource fds = new FileDataSource("d:\\ttt.txt");
mbp1.setDataHandler(new DataHandler(fds));
mbp1.setFileName("ddd");
multi.addBodyPart(mbp1);
msg.setContent(multi);
msg.saveChanges();
Transport.send(msg);
}
}class PasswordAuthenticator extends Authenticator { private String username;
private String password; public PasswordAuthenticator(String username, String password) {
this.username = username;
this.password = password;
} protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}}
import java.util.Date;
import java.util.Properties;import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;public class JMail{ public static void main(String[] arge) throws Exception {
String from = "[email protected]";
String to = "[email protected]";
String subject = "Test mail";
String body = "A text mail";
Properties props = System.getProperties();
// 设置SMTP邮件服务器:
props.put("mail.smtp.host", "smtp.sohu.com");
props.setProperty("mail.smtp.port", "25");
// SMTP服务器需要验证:
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.auth", "true");
// 传入用户名和口令:
Session session = Session.getDefaultInstance(props,
new PasswordAuthenticator("[email protected]", "password"));
// 创建新邮件:
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false));
msg.setSubject(subject);
msg.setText(body);
msg.setSentDate(new Date());
// 发送:
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.attachFile("sss");
Multipart multi = new MimeMultipart();
FileDataSource fds = new FileDataSource("d:\\ttt.txt");
mbp1.setDataHandler(new DataHandler(fds));
mbp1.setFileName("ddd");
multi.addBodyPart(mbp1);
msg.setContent(multi);
msg.saveChanges();
Transport.send(msg);
}
}class PasswordAuthenticator extends Authenticator { private String username;
private String password; public PasswordAuthenticator(String username, String password) {
this.username = username;
this.password = password;
} protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}}
这个眼生
Session session = Session.getDefaultInstance(props,
new PasswordAuthenticator("[email protected]", "password"));
session.setDebug(true);?