您好,我正在尝试通过附加数据库发送电子邮件,我收到邮件,但没有附加以下是我的代码。
谁能帮我..?
尝试{
String host = "smtp.gmail.com";
String from = "[email protected] /cdn-cgi/l/email-protection";
String pass = "aaaaadd";
Properties props = System.getProperties();
props.put("mail.smtp.starttls.enable", "true"); // added this line
props.put("mail.smtp.host", host);
props.put("mail.smtp.user", from);
props.put("mail.smtp.password", pass);
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
String[] to = {"[email protected] /cdn-cgi/l/email-protection"}; // added this line
Session session = Session.getDefaultInstance(props, null);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
InternetAddress[] toAddress = new InternetAddress[to.length];
// To get the array of addresses
for( int i=0; i < to.length; i++ ) {
toAddress[i] = new InternetAddress(to[i]);
}
for( int i=0; i < toAddress.length; i++) {
message.addRecipient(Message.RecipientType.TO, toAddress[i]);
}
message.setSubject("sending in a group");
message.setText("Welcome to JavaMail");//The exception is thrown here
FileDataSource fds = new FileDataSource(new File("/data/data/packagename/databases/dbname.txt"));
//fds.getFile();
Log.v("File name is", fds.getFile().toString());
Log.v("File size is", fds.getContentType());
message.setDataHandler(new DataHandler(fds));
message.setFileName("Callist.db");
message.setDisposition(Part.ATTACHMENT);
Transport transport = session.getTransport("smtp");
transport.connect(host, from, pass);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
Toast.makeText(getApplicationContext(), "E mail Sent", Toast.LENGTH_SHORT).show();
}
catch(Exception e){
Toast.makeText(getApplicationContext(), " .."+e.toString(), Toast.LENGTH_LONG).show();
}
}
电子邮件程序无法访问您的应用程序的私有文件,在本例中是您尝试发送的数据库。将数据库复制到 SD 卡中的文件夹并从那里附加它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)