我试图在Android中创建一个邮件发送应用程序。

如果我使用:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);

这将启动内置的Android应用程序;我试图发送邮件按钮点击直接不使用这个应用程序。


当前回答

你考虑过使用Apache Commons Net吗?从3.3开始,只需要一个jar(您可以使用gradle或maven依赖它),就完成了:http://blog.dahanne.net/2013/06/17/sending-a-mail-in-java-and-android-with-apache-commons-net/

其他回答

你考虑过使用Apache Commons Net吗?从3.3开始,只需要一个jar(您可以使用gradle或maven依赖它),就完成了:http://blog.dahanne.net/2013/06/17/sending-a-mail-in-java-and-android-with-apache-commons-net/

那些正在获得ClassDefNotFoundError的人尝试移动这三个jar文件到你的项目的lib文件夹,它为我工作!!

无法连接到SMTP主机: Smtp.gmail.com,端口:465

在清单中添加这一行:

<uses-permission android:name="android.permission.INTERNET" />

谢谢你提供的宝贵信息。代码运行正常。我也可以通过添加以下代码添加附件。

private Multipart _multipart; 
_multipart = new MimeMultipart(); 

public void addAttachment(String filename,String subject) throws Exception { 
    BodyPart messageBodyPart = new MimeBodyPart(); 
    DataSource source = new FileDataSource(filename); 
    messageBodyPart.setDataHandler(new DataHandler(source)); 
    messageBodyPart.setFileName(filename); 
    _multipart.addBodyPart(messageBodyPart);

    BodyPart messageBodyPart2 = new MimeBodyPart(); 
    messageBodyPart2.setText(subject); 

    _multipart.addBodyPart(messageBodyPart2); 
} 



message.setContent(_multipart);

编辑:JavaMail 1.5.5声称支持Android,所以你不需要其他任何东西。

我已经将最新的JavaMail(1.5.4)移植到Android。它可以在Maven Central中获得,只需添加以下内容到build.gradle~~

compile 'eu.ocathain.com.sun.mail:javax.mail:1.5.4'

然后你就可以按照官方教程学习了。

源代码可以在这里找到:https://bitbucket.org/artbristol/javamail-forked-android