Android Studioで意図を持ったメールを送信する方法


方法1: Intent.ACTION_SENDを使用する方法

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822");
intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); // 宛先のメールアドレス
intent.putExtra(Intent.EXTRA_SUBJECT, "メールの件名"); // メールの件名
intent.putExtra(Intent.EXTRA_TEXT, "メールの本文"); // メールの本文
startActivity(Intent.createChooser(intent, "メールアプリを選択")); // メールアプリを選択するダイアログを表示

方法2: Intent.ACTION_SENDTOを使用する方法

Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("mailto:[email protected]")); // 宛先のメールアドレス
intent.putExtra(Intent.EXTRA_SUBJECT, "メールの件名"); // メールの件名
intent.putExtra(Intent.EXTRA_TEXT, "メールの本文"); // メールの本文
startActivity(intent);

方法3: JavaMail APIを使用する方法

JavaMail APIを使用するには、まずAndroidプロジェクトに以下の依存関係を追加する必要があります。

implementation 'com.sun.mail:android-mail:1.6.2'
implementation 'com.sun.mail:android-activation:1.6.2'

以下にJavaMail APIを使用してメールを送信する例を示します。

// 必要なインポート文
import javax.mail.Session;
import javax.mail.Message;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
// メール送信メソッド
private void sendEmail() {
    // メール設定
    String host = "smtp.example.com";
    String port = "587";
    String username = "your_username";
    String password = "your_password";
    // 送信元と宛先のメールアドレス
    String fromAddress = "[email protected]";
    String toAddress = "[email protected]";
    // プロパティの設定
    Properties properties = new Properties();
    properties.put("mail.smtp.host", host);
    properties.put("mail.smtp.port", port);
    properties.put("mail.smtp.auth", "true");
    properties.put("mail.smtp.starttls.enable", "true");
    // セッションの作成
    Session session = Session.getInstance(properties, null);
    try {
        // メッセージの作成
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(fromAddress));
        message.setRecipient(Message.RecipientType.TO, new InternetAddress(toAddress));
        message.setSubject("メールの件名");
        message.setText("メールの本文");
        // 送信
        Transport.send(message);
        // 送信成功時の処理
        // ...
    } catch (Exception e) {
        // 送信失敗時の処理
        // ...
    }
}
// メール送信を実行する場所で以下のメソッドを呼び出す
sendEmail();

これらの方法を使用すると、Android Studioで意図を持ったメールを送信することができます。適宜コードを編集して、自分のアプリの要件に合わせてカスタマイズしてください。