2011-12-27 56 views
0

嗨我正在創建一個應用程序(認爲它是一個安全應用程序),其中點擊按鈕的聯繫人列表應該打開,並通過選擇一個聯繫人的郵件應該直接發送到選定的聯繫人的郵件地址,而不顯示彈出詢問「選擇電子郵件客戶「。即我想在後臺發送郵件。例如 如果您知道Pandora Radio應用程序。您可以通過從聯繫人中選擇電子郵件ID來共享電臺,該電子郵件ID通過使用adnroid手機的默認電子郵件ID向後臺發送電子郵件給選定的聯繫人,並在成功後顯示Toast「電臺共享」。如何發送電子郵件沒有用戶靜默和默認情況下使用javamail gmail id在android中?

我不想問用戶的Gmail密碼或其他任何東西。 我設法得到甚至Android手機的默認電子郵件ID和通過選擇聯繫人我可以得到所選聯繫人的電子郵件ID 我不想使用JavaMail因爲它需要硬編碼的電子郵件ID和密碼。 我做了很多搜索,但沒有找到解決方案,因爲我想。 請提出任何解決方案。

+0

http://stackoverflow.com/questions/8614844/email-sent-without-putting-the-password-into-the-code/8614904#8614904 – Yury 2011-12-27 16:16:48

回答

0

對不起,這在android SDK中不支持。

+0

那麼潘多拉的應用程序如何做到這一點? 必須有一些東西來解決這個問題。 – shankey 2011-12-27 12:05:53

+0

你需要實現你自己的電子郵件客戶端來做到這一點... – 2011-12-27 12:06:51

+0

聽起來很困難,但你有什麼想法如何做到這一點? – shankey 2011-12-27 12:07:56

0

試試這在Android 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) { 

     } 
    } 
相關問題