2016-04-09 51 views
1

, onların java API ile e-posta mesajları nasıl oluşturabileceğini: nasıl kullanıcının e-posta adresini almak yapın: gmail java api kullanarak gmail kullanıcısının e-posta adresini nasıl alırsınız? Burada <a href="https://developers.google.com/gmail/api/guides/sending#creating_messages" rel="nofollow">Google's official doc</a> itibaren

public static MimeMessage createEmail(String to, String from, String subject, 
     String bodyText) throws MessagingException { 
    Properties props = new Properties(); 
    Session session = Session.getDefaultInstance(props, null); 

    MimeMessage email = new MimeMessage(session); 
    InternetAddress tAddress = new InternetAddress(to); 
    InternetAddress fAddress = new InternetAddress(from); 

    email.setFrom(new InternetAddress(from)); 
    email.addRecipient(javax.mail.Message.RecipientType.TO, 
         new InternetAddress(to)); 
    email.setSubject(subject); 
    email.setText(bodyText); 
    return email; 
    } 

/** 
    * Create a Message from an email 
    * 
    * @param email Email to be set to raw of message 
    * @return Message containing base64url encoded email. 
    * @throws IOException 
    * @throws MessagingException 
    */ 
    public static Message createMessageWithEmail(MimeMessage email) 
     throws MessagingException, IOException { 
    ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 
    email.writeTo(bytes); 
    String encodedEmail = Base64.encodeBase64URLSafeString(bytes.toByteArray()); 
    Message message = new Message(); 
    message.setRaw(encodedEmail); 
    return message; 
    } 

Yani sorulara yol açan bir from alanını ihtiyaç?

+0

Hangi kullanıcı? Onu neyden aldın? –

+0

Uygulamanın kimin adına posta kullandığını kullanıcı. – qed

+0

Bazı google veritabanından, sanırım? – qed

cevap

3

Sen kullanıcının e-posta adresini almak için getProfile kullanabilirsiniz:

:

{ 
"emailAddress": "[email protected]" 
} 

Java'da gibi görünebilir

talep

GET https://www.googleapis.com/gmail/v1/users/me/profile?fields=emailAddress&access_token={ACCESS_TOKEN} 

Tepki

GetProfile profile = service.users().getProfile("me").execute(); System.out.println(profile.getEmailAddress());