我想向不同的收件人发送几封电子邮件,但这些字母的文字可能会有所不同。我还想通过Intent
和内置邮件客户端应用程序授权用户并代表他发送邮件。是否有任何方法可以通过单击按钮来执行此操作,而不是为每个字母调用新的电子邮件窗口(活动)并强制用户确认每封信件的发送?
有没有办法不为每个字母调用新的电子邮件窗口,以便用户确认发送每个字母,只需按一下按钮即可完成此操作?
为此可能有任何第三方图书馆或免费邮件服务吗?
答案 0 :(得分:5)
您可以使用simple-java-mail来实现这一目标。
public static void SendMail(String recipientName,String recipientAddress,String subject,String message,File file,String myAdress,String password) throws IOException{
System.out.println("File size "+file.length());
Email email = new Email();
email.setFromAddress(myAdress.split("@")[0], myAdress);
email.addRecipient(recipientName, recipientAddress, Message.RecipientType.TO);
email.setSubject(subject);
email.setText(message);
if(file!=null)
email.addAttachment(file.getName(),
FileUtils.readFileToByteArray(file),"application/pdf");
String host = myAdress.split("@")[1];
new Mailer(
new ServerConfig("smtp."+host, 587, myAdress, password),
TransportStrategy.SMTP_TLS,
new ProxyConfig("socksproxy."+host, 1080, "proxy user", "proxy password")
).sendMail(email);
}
如果您的客户使用的是Gmail,他们必须允许第三方在其设置中发送邮件