[Android/java] Intent eamil 전송하기 / 안드로이드 gmail로 보내기

내가 만든 Android App에서 이메일 앱과 연동하는건 아주 간단합니다.

주로 Activity 이용시 사용되었던 Intent를 사용하면 됩니다.

공통적으로 메일 제목, 본문 내용, 받는사람 이메일등에 대한 내용을 미리 입력 할 수도 있습니다.

 

ex)

Intent mail_intent = new Intent(Intent.ACTION_SEND);
mail_intent .setType("*/*");

mail_intent.putExtra(Intent.EXTRA_EMAIL, "aaaa@naver.com"); // 받는 사람 이메일
mail_intent.putExtra(Intent.EXTRA_SUBJECT, "Email Title"); // 메일 제목
mail_intent.putExtra(Intent.EXTRA_TEXT, "Email Text"); // 메일 내용
startActivity(email_intent);

 

Intent.ACTION_SEND 속성에 의해, 앱에서 Intent 기능을 사용할 때 공유가능한 모든 어플이 선택지에 등장합니다.

이때 실행되고자 하는 어플이 있다면?(앱 지정) 그 어플의 패키지명을 가지고 바로 연결 할 수도 있습니다.

 

mail_intent.setPackage("com.google.android.gm");

위와 같이 setPackage() 안에 어플 패키지명을 추가해주면 간단! 참고로 위의 패키지명은 "Gmail"의 패키지 명입니다.

 

만약 어플 제작 중, 나(제작자) 에게 메일을 보내야하는 경우라면? 위와같이 패키지명을 추가하고, 받는사람 메일에 본인 메일주소를 적으면 됩니다.

 


* 참고

- 어플 패키지명 확인 방법 : colalove5562.tistory.com/31

 

[Android] 어플 패키지명 확인하는 방법

목표 안드로이드 어플의 패키지명을 확인할 수 있다. 패키지명(Package Name) 이란? 안드로이드 앱 각각의 고유한 이름이라고 할 수 있습니다. 사용자에게 직접적으로 보이지는 않지만, 이 이름은

colalove5562.tistory.com


* Tip!

 

1. Android Intent 메일 전송, 받는사람 여러명 지정하는 법 : 배열 사용

String[] receiveEmail = {"aaa@naver.com" , "bbb@naver.com", ...};
mail_intent(Intent.EXTRA_EMAIL, receiveEmail);

 

2. 안드로이드에서 Gamil로 메일 전송 후, 성공적으로 보냈는지 확인할 수 있을까?

참고 :stackoverflow.com/questions/25923799/android-open-send-mail-intent-and-receive-callback-when-user-send-mail

 

" ACTION_SEND는 결과를 제공하지 않으므로, 사용자가 공유하기로 선택한 데이터에 대해 구체적으로 어떤 작업이 수행되었는지(결과)를 예측할 수 없다. "

 

메일을 보낸 이후에, 성공적으로 메일이 보내졌는지 확인이 필요해서 찾아본 결과,

안드로이드의 역할은 파일 첨부, 제목및 본문 내용 삽입, 해당 앱 실행 까지의 기능만 제공하기 때문에

이후 메일을 보냈는지, 성공/실패 여부와 같은 결과는 얻을 수 없다고 합니다.