Out Out Gmail 작성 페이지로 직접 메일을 보내는 방법
-
21-12-2019 - |
문제
이 코드를 사용하여 Gmail을 직접 작성할 수 있지만 Gmail 페이지 에서이 메일을 직접 보내고 싶습니다.내 보내기 버튼을 클릭 할 때 Gmail 작성 페이지에서 Good를 사용하여 Google을 사용하여 직접 메일을 직접 보내어야합니다.
보호 된 void sendemail () {
String[] recipients = { recieverId.getText().toString() };
Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
email.setType("message/rfc822");
email.putExtra(Intent.EXTRA_EMAIL, recipients);
email.putExtra(Intent.EXTRA_SUBJECT, mailSubject.getText().toString());
email.putExtra(Intent.EXTRA_TEXT, mailBody.getText().toString());
final PackageManager pm = getPackageManager();
final List<ResolveInfo> matches = pm.queryIntentActivities(email, 0);
ResolveInfo best = null;
for (final ResolveInfo info : matches)
if (info.activityInfo.packageName.endsWith(".gm") ||
info.activityInfo.name.toLowerCase().contains("gmail"))
best = info;
if (best != null)
email.setClassName(best.activityInfo.packageName, best.activityInfo.name);
try {
startActivity(email);
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(getApplicationContext(),
"No email client installed.", Toast.LENGTH_LONG).show();
}
}
. 해결책
앱을 통해 전송하는 경우 사용자 개입이 필요합니다.
사용자 개입이 없으면 다음과 같이 보낼 수 있습니다.
-
클라이언트 APK에서 전자 메일을 보냅니다.여기 Mail.jar, Activation.jar는 Java 이메일을 보내야합니다.이러한 항아리가 추가되면 APK 크기가 증가 할 수 있습니다..링크
-
또는 동일한 mail.jar 및 activation.jar를 사용하여 전자 메일을 보내는 서버 측 코드에서 웹 서비스를 사용할 수 있습니다.Asynctask를 통해 웹 서비스를 호출하고 이메일을 보내드립니다.동일한 링크를 참조
다른 팁
아니요, 사용자 개입없이 Gmail에서 메일을 보낼 수 없으므로 보안 문제가 발생합니다.위에서 언제든지 의도를 통해 그 앱을 호출 할 수있는 것만.또는 메일을 보내는 Java Mail API를 사용할 수 있습니다.
제휴하지 않습니다 StackOverflow