Как отправить электронную почту в Android
В Android вы можете использоватьIntent.ACTION_SEND
для вызова существующего почтового клиента для отправки электронного письма.
Смотрите следующие фрагменты кода:
Intent email = new Intent(Intent.ACTION_SEND); email.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); email.putExtra(Intent.EXTRA_SUBJECT, "subject"); email.putExtra(Intent.EXTRA_TEXT, "message"); email.setType("message/rfc822"); startActivity(Intent.createChooser(email, "Choose an Email client :"));
P.S This project is developed in Eclipse 3.7, and tested with Samsung Galaxy S2 (Android 2.3.3).
Run & test on real device only.
Если вы запустите это в эмуляторе, вы получите сообщение об ошибке: «No application can perform this action». Этот код работает только на реальном устройстве.
1. Android-макет
Файл: res / layout / main.xml
2. Деятельность
Полный класс активности для отправки электронной почты. Прочтите методonClick()
, он не требует пояснений.
package com.example.android; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class SendEmailActivity extends Activity { Button buttonSend; EditText textTo; EditText textSubject; EditText textMessage; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); buttonSend = (Button) findViewById(R.id.buttonSend); textTo = (EditText) findViewById(R.id.editTextTo); textSubject = (EditText) findViewById(R.id.editTextSubject); textMessage = (EditText) findViewById(R.id.editTextMessage); buttonSend.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String to = textTo.getText().toString(); String subject = textSubject.getText().toString(); String message = textMessage.getText().toString(); Intent email = new Intent(Intent.ACTION_SEND); email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to}); //email.putExtra(Intent.EXTRA_CC, new String[]{ to}); //email.putExtra(Intent.EXTRA_BCC, new String[]{to}); email.putExtra(Intent.EXTRA_SUBJECT, subject); email.putExtra(Intent.EXTRA_TEXT, message); //need this to prompts email client only email.setType("message/rfc822"); startActivity(Intent.createChooser(email, "Choose an Email client :")); } }); } }
3. Demo
Посмотрите экранную заставку по умолчанию, заполните детали и нажмите кнопку «Отправить».
Будет предложено выбрать существующий почтовый клиент.
В этом случае я выбралGmail, и все предыдущие заполненные детали будут автоматически переданы клиентуGmail.
Note
Android не предоставляет API для отправки электронной почты напрямую, вам необходимо вызвать существующий клиент электронной почты для отправки электронной почты.
Скачать исходный код
Скачать -Android-Send-Email-Example.zip (16 КБ)