gpt4 book ai didi

java - 使用 GMailSender 从 Android 应用程序发送带有附件的电子邮件在 Transport.send 处失败

转载 作者:行者123 更新时间:2023-12-01 15:38:08 24 4
gpt4 key购买 nike

我正在尝试从我的 Android 应用程序发送一封带有图像作为附件的电子邮件。我关注了这篇文章(以及其他许多文章):Sending email with attachment through GMailSender?

所以我做了同样的事情,我可以发送电子邮件,但只能没有附件。不幸的是,Transport.send 似乎失败了。过了一会儿,它显示:

D/SntpClient( 61): request time failed: java.net.SocketException: Address family not supported by protocol

我尝试以不同的方式创建 File 对象(streamUri 我相信是正确的):

Uri streamUri = intent.getParcelableExtra(Intent.EXTRA_STREAM); 
File f = new File(streamUri.toString()); //I get an error if I pass only streamUri as parameter

还有

File f = new File(streamUri.getEncodedPath());

但我得到:

(  418): IOException while sending message
( 418): javax.mail.MessagingException: IOException while sending message;
( 418): nested exception is:
( 418): java.io.FileNotFoundException: /media/external/images/media/2 (No such file or directory)

所以我怀疑我可能错误地创建了 File 对象。

最佳答案

路径不正确,这解决了问题:

public String getRealPathFromURI(Uri contentUri) {
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}

关于java - 使用 GMailSender 从 Android 应用程序发送带有附件的电子邮件在 Transport.send 处失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com