LoginSignup
1
0

[Gmail API] Javaで送信者エイリアスを取得する

Last updated at Posted at 2024-03-17

Gmail API v1(Java)を使用して、
Gmailの送信者エイリアスを取得する方法
についてご紹介します。

送信者エイリアスとは
メールを送信する時、送信者エイリアスからメールを送信しているように見せることができる機能です。
最初に、メール転送を設定してアクティブにしておきます。
Gmailでは、「設定」 -> 「アカウントとインポート」 -> 名前:「他のメールアドレスを追加」
から設定できます。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Gmail API] JavaでGmail APIを使う
を参照ください。

本文中の引数にある「メールアドレス」の指定は、
OAuth 2.0使用の場合は「me」(自身)と指定してください。
「me」は認証されたユーザーを示します。

No 目次
1 送信者エイリアス一覧を取得
1 スコープ
2 実行
3 レスポンスの内容
2 送信者エイリアスを取得
1 スコープ
2 実行
3 レスポンスの内容

1. 送信者エイリアス一覧を取得

送信者エイリアス一覧を取得します。

一覧の取得では送信者エイリアスの詳細内容までは取得できません。
詳細内容を取得したい場合は2. 送信者エイリアスを取得を参照ください。

1.1. スコープ

このAPIを実行するには、以下のいずれかのスコープを指定してください。

GmailScopes.GMAIL_SETTINGS_BASIC
GmailScopes.MAIL_GOOGLE_COM
GmailScopes.GMAIL_MODIFY
GmailScopes.GMAIL_READONLY

⧉[Gmail API] JavaでGmail APIを使う(2.2 Gmailインスタンスを取得)
でスコープを指定してください。

1.2. 実行

転送アドレスがない場合はレスポンスでNULLが返ります。

public static void main(String[] args) throws Exception{
    Gmail gmail = getGmail();
    Gmail.Users users = gmail.users();
    Gmail.Users.Settings settings = users.settings();
    
    Gmail.Users.Settings.SendAs sendAs = settings.sendAs();
    Gmail.Users.Settings.SendAs.List list = sendAs.list("メールアドレス");
    
    ListSendAsResponse res = list.execute();
    System.out.println(res);
}

1.2.1. HTTPリクエスト

GET: https://gmail.googleapis.com/gmail/v1/users/{メールアドレス}/settings/sendAs
が実行されます。

1.2.2. クエリパラメータ

クエリパラメータはありません。

1.3. レスポンスの内容

ListSendAsResponse

メソッド 戻り値 説明
getSendAs SendAs 送信者エイリアスのリスト

SendAs

メソッド 戻り値 説明
getSendAsEmail String 送信者エイリアスメールアドレス
getDisplayName String エイリアスを使用して送信されるメールの「From:」ヘッダーに表示される名前
getReplyToAddress String エイリアスを使用して送信されるメールの「Reply-To:」ヘッダーに含まれるメールアドレス
getSignature String GmailウェブUIでエイリアスを使用して作成されたメッセージに含まれるオプションのHTML署名
getIsPrimary Boolean アカウントへのログインに使用されるプライマリアドレスか
getIsDefault Boolean 新しいメッセージの作成や休暇中の自動返信の送信などの状況で、このアドレスがデフォルトの「From:」アドレスとして選択されるか
getTreatAsAlias Boolean ユーザーのプライマリメールアドレスのエイリアスとして扱うか
getSmtpMsa SmtpMsa エイリアスを使用して送信されるメールの送信リレーとして使用されるオプションのSMTPサービス
getVerificationStatus VerificationStatus(enum) 送信エイリアスとして使用できるかどうかの検証状態

SmtpMsa

メソッド 戻り値 説明
getHost String SMTPサービスのホスト名
getPort Integer SMTPサービスのポート
getSecurityMode SecurityMode(enum) SMTPサービスとの通信を保護するために使用されるプロトコル

VerificationStatus

定義値 内容
verificationStatusUnspecified 未設定
accepted このアドレスは、送信エイリアスとして使用する準備完了
pending 住所は所有者による確認を持っている

SecurityMode

定義値 内容
securityModeUnspecified 未設定
none リモートSMTPサービスとの通信は安全ではない
ssl リモートSMTPサービスとの通信は、SSLを使用して保護
starttls リモートSMTPサービスとの通信は、STARTTLSを使用して保護

2. 送信者エイリアスを取得

送信者エイリアスを取得します。

2.1. スコープ

このAPIを実行するには、以下のいずれかのスコープを指定してください。

GmailScopes.GMAIL_SETTINGS_BASIC
GmailScopes.MAIL_GOOGLE_COM
GmailScopes.GMAIL_MODIFY
GmailScopes.GMAIL_READONLY

⧉[Gmail API] JavaでGmail APIを使う(2.2 Gmailインスタンスを取得)
でスコープを指定してください。

2.2. 実行

public static void main(String[] args) throws Exception{
    Gmail gmail = getGmail();
    Gmail.Users users = gmail.users();
    Gmail.Users.Settings settings = users.settings();
    
    Gmail.Users.Settings.SendAs sendAs = settings.sendAs();
    Gmail.Users.Settings.SendAs.Get get = sendAs.get("メールアドレス","送信者エイリアスメールアドレス");
    
    SendAs res = get.execute();
    System.out.println(res);
}

2.2.1. HTTPリクエスト

GET: https://gmail.googleapis.com/gmail/v1/users/{メールアドレス}/settings/sendAs/{送信者エイリアスメールアドレス}
が実行されます。

2.2.2. クエリパラメータ

クエリパラメータはありません。

2.3. レスポンスの内容

SendAs

1.3. レスポンスの内容(SendAs)の内容と同じです。



おしまい。。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0