【问题标题】:how to send email without user intervation and without using javamail by default gmail id in android?如何在没有用户干预的情况下发送电子邮件,并且默认情况下在android中不使用javamail gmail id?
【发布时间】:2011-12-27 12:02:27
【问题描述】:

您好,我正在创建一个应用程序(将其视为安全应用程序),在该应用程序中单击按钮应打开联系人列表,通过选择联系人,邮件应直接发送到所选联系人的邮件地址,而不显示弹出询问“选择电子邮件客户端”。即我想在后台发送邮件。 例如,如果您知道 Pandora Radio 应用程序。因为您可以通过从联系人中选择电子邮件 ID 来共享电台,该电子邮件 ID 通过使用 adnroid 手机的默认电子邮件 ID 在后台向选定的联系人发送电子邮件,并在成功后显示一个 toast “电台共享”。

我不想向用户询问其 gmail 密码或其他任何内容。 我设法获得了 android 手机的默认电子邮件 ID,通过选择联系人我可以获得所选联系人的电子邮件 ID 我不想使用 JavaMail,因为它需要硬编码的电子邮件 ID 和密码。 我做了很多搜索,但没有找到我想要的解决方案。 请提出任何解决方案。

【问题讨论】:

标签: android email


【解决方案1】:

抱歉,android SDK 不支持。

【讨论】:

  • 那么潘多拉app怎么能做到呢?一定有办法解决这个问题。
  • 听起来很难,但你知道怎么做吗?
  • 您可以查看K9电子邮件客户端的源代码:code.google.com/p/k9mail,只有gmail您可以使用java mail api..
  • yar 但它需要硬编码密码?你知道如何找回默认的 gmail id 密码吗?
  • @VineetShukla 很有趣...你找到解决方案了吗?
【解决方案2】:

在安卓 4+ 上试试这个

public synchronized void sendMail(final String subject, final String body,
            final String sender, final String recipients) throws Exception {
        try {
            Thread mailThread = new Thread() {
                @Override
                public void run() {
                    try {
                        MimeMessage message = new MimeMessage(session);
                        DataHandler handler = new DataHandler(
                                new ByteArrayDataSource(body.getBytes(),
                                        "text/plain"));
                        message.setSender(new InternetAddress(sender));
                        message.setSubject(subject);
                        message.setDataHandler(handler);
                        if (recipients.indexOf(',') > 0)
                            message.setRecipients(Message.RecipientType.TO,
                                    InternetAddress.parse(recipients));
                        else
                            message.setRecipient(Message.RecipientType.TO,
                                    new InternetAddress(recipients));
                        Transport.send(message);
                    } catch (Exception e) {

                    }
                }

            };
            mailThread.start();
        } catch (Exception ex) {

        }
    }

【讨论】:

    猜你喜欢
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2014-03-17
    • 2014-01-01
    • 2015-06-29
    • 2015-01-03
    • 1970-01-01
    相关资源
    最近更新 更多