Zarządzanie przekazywaniem

W Ustawieniach możesz skonfigurować przekazywanie dalej na koncie. Aby adres e-mail mógł być używany jako adres przekierowania, musi spełniać jedno z tych kryteriów:

  • Adres e-mail został zweryfikowany. Więcej informacji znajdziesz w artykule Tworzenie i weryfikowanie adresów przekazywania.
  • Adres e-mail należy do tej samej domeny co nadawca.
  • Adres e-mail należy do subdomeny w tej samej domenie co nadawca.
  • Adres e-mail należy do aliasu domeny skonfigurowanego w ramach tego samego konta Google Workspace.

Jeśli adres e-mail do przekazywania nie jest zgodny z żadną z tych reguł, skonfigurowanie przekazywania za pomocą interfejsu API nie powiedzie się.

Informacje o tym, jak tworzyć, wyświetlać, pobierać i usuwać adresy przekazywania, znajdziesz w dokumentacji ForwardingAddresses.

Informacje o tym, jak uzyskać lub zaktualizować ustawienia przekazywania, znajdziesz w informacjach o ustawieniach.

Tworzenie i weryfikowanie adresów do przekazywania dalej

Zanim zaczniesz korzystać z adresów przekierowania, musisz je utworzyć. W niektórych przypadkach użytkownicy muszą też potwierdzić własność adresu.

Jeśli Gmail wymaga weryfikacji użytkownika w przypadku adresu przekazywania, adres jest zwracany ze stanem pending. Na docelowy adres e-mail zostanie automatycznie wysłana wiadomość weryfikacyjna. Zanim będzie można użyć adresu e-mail, jego właściciel musi przejść proces weryfikacji.

Adresy przekierowania, które nie wymagają weryfikacji, mają stan weryfikacji accepted.

Włączanie automatycznego przekazywania dalej

Wywołaj metodę updateAutoForwarding, aby włączyć automatyczne przekazywanie na koncie. Wywołanie wymaga zarejestrowanego i zweryfikowanego adresu do przekazywania wiadomości dalej oraz działania, które ma zostać wykonane w przypadku przekazanych wiadomości.

Aby na przykład włączyć automatyczne przekazywanie i przenieść przekazane wiadomości do kosza:

Java

gmail/snippets/src/main/java/EnableForwarding.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.AutoForwarding; import com.google.api.services.gmail.model.ForwardingAddress; import com.google.auth.http.HttpCredentialsAdapter; import com.google.auth.oauth2.GoogleCredentials; import java.io.IOException;  /* Class to demonstrate the use of Gmail Enable Forwarding API */ public class EnableForwarding {   /**    * Enable the auto-forwarding for an account.    *    * @param forwardingEmail - Email address of the recipient whose email will be forwarded.    * @return forwarding id and metadata, {@code null} otherwise.    * @throws IOException - if service account credentials file not found.    */   public static AutoForwarding enableAutoForwarding(String forwardingEmail) 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_SHARING);     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 {       // Enable auto-forwarding and move forwarded messages to the trash       ForwardingAddress address = new ForwardingAddress()           .setForwardingEmail(forwardingEmail);       ForwardingAddress createAddressResult = service.users().settings().forwardingAddresses()           .create("me", address).execute();       if (createAddressResult.getVerificationStatus().equals("accepted")) {         AutoForwarding autoForwarding = new AutoForwarding()             .setEnabled(true)             .setEmailAddress(address.getForwardingEmail())             .setDisposition("trash");         autoForwarding =             service.users().settings().updateAutoForwarding("me", autoForwarding).execute();         System.out.println(autoForwarding.toPrettyString());         return autoForwarding;       }     } catch (GoogleJsonResponseException e) {       // TODO(developer) - handle error appropriately       GoogleJsonError error = e.getDetails();       if (error.getCode() == 403) {         System.err.println("Unable to enable forwarding: " + e.getDetails());       } else {         throw e;       }     }     return null;   } }

Python

gmail/snippet/settings snippets/enable_forwarding.py
import google.auth from googleapiclient.discovery import build from googleapiclient.errors import HttpError   def enable_forwarding():   """Enable email forwarding.   Returns:Draft object, including forwarding id and result meta data.    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)      address = {"forwardingEmail": "[email protected]"}      # pylint: disable=E1101     result = (         service.users()         .settings()         .forwardingAddresses()         .create(userId="me", body=address)         .execute()     )     if result.get("verificationStatus") == "accepted":       body = {           "emailAddress": result.get("forwardingEmail"),           "enabled": True,           "disposition": "trash",       }       # pylint: disable=E1101       result = (           service.users()           .settings()           .updateAutoForwarding(userId="me", body=body)           .execute()       )       print(f"Forwarding is enabled : {result}")    except HttpError as error:     print(f"An error occurred: {error}")     result = None    return result   if __name__ == "__main__":   enable_forwarding()

Aby wyłączyć automatyczne przekazywanie, wywołaj funkcję updateAutoForwarding i ustaw wartość właściwości enabled na false.

Przekazywanie konkretnych wiadomości

Automatyczne przekazywanie wysyła wszystkie otrzymane wiadomości na konto docelowe. Aby selektywnie przekazywać wiadomości, użyj filtrów, aby utworzyć reguły przekazywania w odpowiedzi na atrybuty lub treść wiadomości.