如何在 Android 中通过电子邮件发送图片,预览但未附加..?

Posted

技术标签:

【中文标题】如何在 Android 中通过电子邮件发送图片,预览但未附加..?【英文标题】:How to send a picture via email in Android, previewed but NOT attached..? 【发布时间】:2012-11-13 19:56:20 【问题描述】:

我想在我的邮件 Intent 中发送图片预览。 我不想附加它,我只想显示它。

这是我的意图:

String textToSend = getString(R.string.mailHi)+"<br><br>"+getString(R.string.mailText)+getTextToSendViaMail();
                    Uri pngUri = null;
                    File currentShopImage = new File(Environment.getExternalStorageDirectory().toString()+"/OpenGuide/"+Integer.toString(keyId)+"_1_normal.pn_");

                    if(currentShopImage.exists())

                        File pngFile = new File(currentShopImage.toString());
                        pngUri = Uri.fromFile(pngFile);
                    

                    Intent i = new Intent(Intent.ACTION_SEND);
                    i.setType("text/plain");
                    //i.putExtra(Intent.EXTRA_EMAIL, new String[]  emailCim );
                    i.putExtra(Intent.EXTRA_SUBJECT, "OpenGuide");
                    i.putExtra(Intent.EXTRA_TEXT, html.fromHtml(textToSend));
                    if(pngUri!= null)
                    i.putExtra(Intent.EXTRA_STREAM, pngUri);
                    try 
                        startActivity(Intent.createChooser(i, getString(R.string.SendMail)));
                     catch (android.content.ActivityNotFoundException ex) 
                        Toast.makeText(ShopActivity.this, getString(R.string.MailClientNotFound), Toast.LENGTH_SHORT).show();
                    

我怎样才能做到这一点?

【问题讨论】:

您要发送图片,但不附上?这是怎么回事? 【参考方案1】:

据我了解您的问题,您希望将图像与其他文本一起放在邮件中。用电子邮件协议的话来说,它被称为内联附件。

您无法使用intents 执行此操作,因为设备上安装的电子邮件客户端都不支持创建 html 消息。

如果它确实是您应用的核心部分,您应该考虑使用第三方 api 来执行此操作。此类库之一是JavaMail。您可以通过此库发送 html 消息,但需要一些时间来设置。

这是一个link,它可能会给你一些提示,它是如何完成的。

【讨论】:

【参考方案2】:

然后你需要发送一个 HTML 生成的电子邮件 afaik。

【讨论】:

以上是关于如何在 Android 中通过电子邮件发送图片,预览但未附加..?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中通过电子邮件发送本地链接(共享服务器链接)?

如何压缩 JSONObject 在 Android 中通过 Http 发送它?

如何在Linux命令行中通过SMTP服务器发送电子邮件

如何使用 Python 从文件夹中通过电子邮件发送随机 pdf 文件?

使用 Gmail 在 codeigniter 中通过电子邮件类发送电子邮件

在 oracle apex 中通过电子邮件发送富文本字段