مدیریت حمل و نقل

می توانید از تنظیمات برای پیکربندی بازارسال برای یک حساب استفاده کنید. برای استفاده به عنوان یک آدرس ایمیل حمل و نقل، یک آدرس باید یکی از معیارهای زیر را داشته باشد:

  • آدرس ایمیل تایید شده است. برای اطلاعات بیشتر، به ایجاد و تأیید آدرس های بازارسال مراجعه کنید
  • آدرس ایمیل متعلق به همان دامنه فرستنده است.
  • آدرس ایمیل متعلق به یک زیر دامنه در همان دامنه فرستنده است.
  • آدرس ایمیل متعلق به یک نام مستعار دامنه است که به عنوان بخشی از همان حساب Google Workspace پیکربندی شده است.

اگر آدرس ایمیل باز ارسال به یکی از این قوانین پایبند نباشد، راه‌اندازی بازارسال با استفاده از API انجام نمی‌شود.

برای اطلاعات در مورد نحوه ایجاد ، فهرست کردن ، دریافت یا حذف آدرس‌های ارسال، به مرجع ForwardingAddresses مراجعه کنید.

برای اطلاعات در مورد نحوه دریافت یا به‌روزرسانی تنظیمات ارسال، به مرجع تنظیمات مراجعه کنید

ایجاد و تأیید آدرس های ارسال

قبل از استفاده باید آدرس های فوروارد را ایجاد کنید . در برخی موارد، کاربران باید مالکیت آدرس را نیز تأیید کنند.

اگر Gmail به تأیید کاربر برای آدرس بازارسال نیاز داشته باشد، آدرس با وضعیت pending بازگردانده می‌شود. یک پیام تأیید به طور خودکار به آدرس ایمیل مورد نظر ارسال می شود. مالک آدرس ایمیل باید مراحل تأیید را قبل از استفاده از آن تکمیل کند.

آدرس‌های بازارسالی که نیازی به تأیید ندارند، وضعیت تأیید accepted دارند.

فعال کردن بازارسال خودکار

برای فعال کردن بازارسال خودکار برای یک حساب، روش updateAutoForwarding را فراخوانی کنید. تماس نیاز به یک آدرس ارسال ثبت شده و تأیید شده و همچنین اقدامی برای انجام پیام های فوروارد شده دارد.

به عنوان مثال، برای فعال کردن بازارسال خودکار و انتقال پیام های ارسال شده به سطل زباله:

جاوا

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;
  }
}

پایتون

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": "gduser1@workspacesamples.dev"}

    # 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()

برای غیرفعال کردن ارسال خودکار، updateAutoForwarding را فراخوانی کنید و ویژگی enabled را روی false قرار دهید.

ارسال پیام های خاص

ارسال خودکار تمام پیام های دریافتی را به حساب مورد نظر ارسال می کند. برای ارسال انتخابی پیام‌ها، از فیلترها برای ایجاد قوانینی استفاده کنید که در پاسخ به ویژگی‌ها یا محتوای پیام ارسال می‌شوند.