Aliasse verwalten

Aliasse als „Senden als“ stellen die E-Mail-Adressen dar, von denen aus ein Konto E-Mails senden kann. Jedes Konto hat immer mindestens einen Alias, der die primäre E-Mail-Adresse des Kontos darstellt.

„Senden als“-Aliasse entsprechen der Funktion „Senden als“ in der Weboberfläche.

Aliasse werden auch zum Verwalten von Signaturen für ein Konto verwendet. Grundlegende Kenntnisse zu Sendealiassen sind erforderlich, damit Sie E-Mail-Signaturen ändern können. Das Video oben zeigt, wie Sie „Senden als“-Aliasse durchgehen und die Signatur für die primäre E-Mail-Adresse eines Nutzers ändern.

Informationen zum Erstellen, Auflisten, Abrufen, Aktualisieren oder Löschen von Aliassen finden Sie in der SendAs-Referenz.

Aliasse erstellen und überprüfen

Sie müssen Aliasse vor der Verwendung erstellen. In einigen Fällen müssen Nutzer auch die Inhaberschaft des Alias bestätigen.

Wenn für einen Alias in Gmail eine Nutzerbestätigung erforderlich ist, wird der Alias mit dem Status pending zurückgegeben. Eine Bestätigungsnachricht wird automatisch an die Ziel-E-Mail-Adresse gesendet. Der Inhaber der E-Mail-Adresse muss den Bestätigungsvorgang abschließen, bevor er verwendet werden kann.

Aliasse, die nicht bestätigt werden müssen, haben den Bestätigungsstatus accepted.

Verwenden Sie die Methode verify, um die Verifizierungsanfrage bei Bedarf noch einmal zu senden.

SMTP-Einstellungen

Aliasse für externe Adressen sollten E-Mails über einen Remote-SMTP-Mail-Agent (MSA) senden. Verwenden Sie das Feld smtpMsa, um die SMTP-MSA für einen Alias zu konfigurieren und die Verbindungsdetails anzugeben.

Signaturen verwalten

Sie können auch E-Mail-Signaturen für die einzelnen Aliasse konfigurieren. So legen Sie beispielsweise die Signatur für die primäre Adresse des Nutzers fest:

Java

gmail/snippets/src/main/java/UpdateSignature.java
import com.google.api.client.googleapis.json.GoogleJsonError;
import com.google.api.client.googleapis.json.GoogleJsonResponseException;
import com.google.api.client.http.HttpRequestInitializer;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.gson.GsonFactory;
import com.google.api.services.gmail.Gmail;
import com.google.api.services.gmail.GmailScopes;
import com.google.api.services.gmail.model.ListSendAsResponse;
import com.google.api.services.gmail.model.SendAs;
import com.google.auth.http.HttpCredentialsAdapter;
import com.google.auth.oauth2.GoogleCredentials;
import java.io.IOException;

/* Class to demonstrate the use of Gmail Update Signature API */
public class UpdateSignature {
  /**
   * Update the gmail signature.
   *
   * @return the updated signature id , {@code null} otherwise.
   * @throws IOException - if service account credentials file not found.
   */
  public static String updateGmailSignature() throws IOException {
        /* Load pre-authorized user credentials from the environment.
           TODO(developer) - See https://developers.google.com/identity for
            guides on implementing OAuth2 for your application. */
    GoogleCredentials credentials = GoogleCredentials.getApplicationDefault()
        .createScoped(GmailScopes.GMAIL_SETTINGS_BASIC);
    HttpRequestInitializer requestInitializer = new HttpCredentialsAdapter(credentials);

    // Create the gmail API client
    Gmail service = new Gmail.Builder(new NetHttpTransport(),
        GsonFactory.getDefaultInstance(),
        requestInitializer)
        .setApplicationName("Gmail samples")
        .build();

    try {
      SendAs primaryAlias = null;
      ListSendAsResponse aliases = service.users().settings().sendAs().list("me").execute();
      for (SendAs alias : aliases.getSendAs()) {
        if (alias.getIsPrimary()) {
          primaryAlias = alias;
          break;
        }
      }
      // Updating a new signature
      SendAs aliasSettings = new SendAs().setSignature("Automated Signature");
      SendAs result = service.users().settings().sendAs().patch(
              "me",
              primaryAlias.getSendAsEmail(),
              aliasSettings)
          .execute();
      //Prints the updated signature
      System.out.println("Updated signature - " + result.getSignature());
      return result.getSignature();
    } catch (GoogleJsonResponseException e) {
      // TODO(developer) - handle error appropriately
      GoogleJsonError error = e.getDetails();
      if (error.getCode() == 403) {
        System.err.println("Unable to update signature: " + e.getDetails());
      } else {
        throw e;
      }
    }
    return null;
  }
}

Python

gmail/snippet/settings-Snippets/update_signature.py
from __future__ import print_function

import google.auth
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError


def update_signature():
    """Create and update signature in gmail.
    Returns:Draft object, including updated signature.

    Load pre-authorized user credentials from the environment.
    TODO(developer) - See https://developers.google.com/identity
    for guides on implementing OAuth2 for the application.
    """
    creds, _ = google.auth.default()

    try:
        # create gmail api client
        service = build('gmail', 'v1', credentials=creds)

        primary_alias = None

        # pylint: disable=E1101
        aliases = service.users().settings().sendAs().list(userId='me')\
            .execute()
        for alias in aliases.get('sendAs'):
            if alias.get('isPrimary'):
                primary_alias = alias
                break

        send_as_configuration = {
            'displayName': primary_alias.get('sendAsEmail'),
            'signature': 'Automated Signature'
        }

        # pylint: disable=E1101
        result = service.users().settings().sendAs() \
            .patch(userId='me', sendAsEmail=primary_alias.get('sendAsEmail'),
                   body=send_as_configuration).execute()
        print(F'Updated signature for: {result.get("displayName")}')

    except HttpError as error:
        print(F'An error occurred: {error}')
        result = None

    return result.get('signature')


if __name__ == '__main__':
    update_signature()