android发送邮件(包括附件)
来源:互联网 发布:淘宝生e经在哪里订购 编辑:程序博客网 时间:2024/06/05 15:48
android发送邮件初期遇到的问题:
1.发送到QQ邮箱成为垃圾邮件
2.发送到有些邮箱,没有正文
经过几次试验,终于能够正常发送邮件了。
以下是代码:
public class MailSender {
/** * send mail
* @param mailInfo Info
*/
public booleansendMail(MailSenderInfomailInfo){
// Determine whether authentication
MyAuthenticator authenticator;
Properties pro=mailInfo.getProperties();
if (mailInfo.isValidate()){
// Create a password verifier
authenticator = new MyAuthenticator(mailInfo.getUserName(),mailInfo.getPassword());
}
else {
return false;
}
Session sendMailSession=Session.getDefaultInstance(pro,authenticator);
try {
Message mailMessage=new MimeMessage(sendMailSession);
//Create From Address
Address from=new InternetAddress(mailInfo.getFromAddress());
// Set From Address
mailMessage.setFrom(from);
// Create To Address
Address to=new InternetAddress(mailInfo.getToAddress());
mailMessage.setRecipient(Message.RecipientType.TO,to);
mailMessage.setSubject(mailInfo.getSubject());
mailMessage.setSentDate(newDate());
String mailContent=mailInfo.getContent();
Multipart mainPart=new MimeMultipart();
//create body text
MimeBodyPart body_text=new MimeBodyPart();
body_text.setText(mailContent);
mainPart.addBodyPart(body_text);
//create Attach File
for (Stringfilename:mailInfo.getAttachFileNames()){
FileDataSource fileDataSource = new FileDataSource(new File(filename));
DataHandler dataHandler=new DataHandler(fileDataSource);
MimeBodyPart mimeBodyPart=new MimeBodyPart();
mimeBodyPart.setDataHandler(dataHandler);
try {
String fileNameNew=MimeUtility.encodeText(fileDataSource.getName(),"utf-8",null);
mimeBodyPart.setFileName(fileNameNew);
} catch(UnsupportedEncodingExceptione){
e.printStackTrace();
mimeBodyPart.setFileName(fileDataSource.getName());
}
mimeBodyPart.setText(mailInfo.getContent());
mainPart.addBodyPart(mimeBodyPart);
mailMessage.setContent(mainPart);
}
mailMessage.saveChanges();
// send email
Transport.send(mailMessage);
return true;
} catch(MessagingExceptionex){
ex.printStackTrace();
} returnfalse;
}
class MyAuthenticatorextendsAuthenticator{
String userName=null;
String password=null;
public MyAuthenticator(Stringusername,Stringpassword){
this.userName=username;this.password=password;
}
protected PasswordAuthenticationgetPasswordAuthentication(){
return newPasswordAuthentication(userName,password);
}
}
}
1 0
- android发送邮件(包括附件)
- C#实现邮件的发送与接受(包括附件)
- zend_mail实现发送邮件实例(包括附件)
- android发送QQ邮件(带附件)
- android JavaMail发送邮件(可发送附件)
- Android简单发送邮件(可带附件)
- Android发送邮件到指定邮箱(可带附件)
- android 发送带附件的邮件
- android发送含有附件的邮件
- Android上发送带附件的邮件
- android 发送邮件(android自带email和javamail)均可发送带有多个附件
- JavaMail发送邮件和附件(源码)
- JavaMail发送邮件和附件(源码)
- JavaMail发送邮件和附件(源码)
- perl发送邮件(可带附件)
- C#发送邮件(添加附件)!
- 关于php发送邮件(含附件)
- oracle 发送带附件邮件(smtp)
- uva 11021 推概率公式
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)
- 《长尾理论》读书笔记(下-2-2)
- UILabel在Autolayout中的多行显示/动态高度
- php上传文件处理
- android发送邮件(包括附件)
- Liua_第8 章 编译·运行·调试
- 【VB.net】——整体总结
- 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
- 如何使用cocoa pods管理第三方框架
- android事件分发
- Spring 多数据源事务配置问题
- Oracle查询隐式类型转换不走索引
- 蓝桥杯 历届试题 剪格子