查找发送电子邮件的解决方案

Posted

技术标签:

【中文标题】查找发送电子邮件的解决方案【英文标题】:Find Solution to send email 【发布时间】:2017-12-16 09:36:36 【问题描述】:

我正在创建实用程序来发送电子邮件。在我的代码中,我使用选择器意图来选择电子邮件应用程序来发送电子邮件。它工作得很好,但问题是如果我在这段代码中使用 Uri 使用附件文件,那么在选择器中我选择 G-mail,然后 G-mail 被停止。如果我发送没有附件的电子邮件,它工作得很好。任何人都可以解决我的问题。这是我的代码。

public void SendEmail() 
    Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
    intent.setData(Uri.parse("mailto: "));
    intent.setType("text/plain");
    intent.putExtra(Intent.EXTRA_EMAIL,to);
    intent.putExtra(Intent.EXTRA_SUBJECT, subject);
    intent.putExtra(Intent.EXTRA_TEXT, body);
//        intent.putExtra(Intent.EXTRA_STREAM, uri);
    startActivity(Intent.createChooser(intent, "Send Mail..."));
    

在此代码中,注释中有一行。如果我使用这条线,那么 G-mail 就会停止。我正在使用此行作为文件附件。请帮帮我。

【问题讨论】:

在这里查看这个答案***.com/a/28809905/3983054,它可能对你有帮助 if i use this line then G-mail is stopped ... 这是什么意思? 检查这个答案:***.com/a/12741987/1568530 他们使用了一个额外的列表,也许这就是 gmail 所期望的。 这意味着如果我在代码中使用这一行,那么 gmail 应用程序将无法正常工作。 感谢您的支持。 【参考方案1】:
/**Use the below Code Snippet**/

Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setType("vnd.android.cursor.dir/email");
String to[] = "";
emailIntent.putExtra(Intent.EXTRA_EMAIL, to);
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + "Your URI"));
emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(Intent.EXTRA_TEXT, body);
startActivity(Intent.createChooser(emailIntent, "Send email..."));

【讨论】:

谢谢。我解决了我的问题。感谢您的支持 @erKaranjeet,你到底是怎么解决的?为什么不分享它以便其他人知道解决方案? 在顶部看到我的帖子的第二条评论@Vlad Matvienko 给我解决方案。那工作还是我。我使用“emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);”对于我的附件,它对我有用。【参考方案2】:

使用此代码对我来说是正确的:

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

                String aEmailList[] = "info@marutinandan.com";
                //String aEmailCCList[] =  "user3@fakehost.com","user4@fakehost.com";
                //String aEmailBCCList[] =  "user5@fakehost.com" ;

                emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, aEmailList);
                // emailIntent.putExtra(android.content.Intent.EXTRA_CC, aEmailCCList);
                // emailIntent.putExtra(android.content.Intent.EXTRA_BCC, aEmailBCCList);

                emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "your subject");

                emailIntent.setType("plain/text");
                emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "your message body.");

                startActivity(emailIntent);

【讨论】:

这是一个正常的电子邮件发送代码。我想要pdf附件的代码。感谢您的支持。我解决了我的问题。谢谢。 您在代码的哪个位置添加附件?你读过这个问题吗?

以上是关于查找发送电子邮件的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

查找链接并将其与表单一起发送到电子邮件

Outlook - 查找邮件发送到的帐户的电子邮件

使用django发送邮件时的连接超时问题解决

ruby Ping一个电子邮件地址以查看它是否存在。此脚本解析MX记录以查找负责向广告发送邮件的SMTP服务器

C#发送邮件时提示:“不允许使用邮箱名称。服务器响应为:”的错误解决办法

JAVA发送邮件提示MessagingExceptionSSLHandshakeException