ניהול כינויים

כתובות אימייל חלופיות (Send-as) מייצגות את כתובות האימייל שחשבון יכול שליחת אימייל מ. לכל חשבון יש תמיד לפחות כינוי אחד שמייצג את כתובת האימייל הראשית של החשבון.

כתובות האימייל החלופיות 'שליחה בשם' תואמות "שליחת אימייל בשם" פיצ'ר ממשק אינטרנט.

כינויים משמשים גם לניהול חתימות בחשבון. הבנה בסיסית נדרשים כתובות אימייל חלופיות כדי לשנות חתימות לאימייל. הסרטון שלמעלה מראה איך להפעיל בלופ באמצעות כתובות אימייל חלופיות ולשנות את לחתימה על כתובת האימייל הראשית של המשתמש.

לקבלת מידע על create, list, get, עדכון, או למחוק כינויים, לראות את SendAs חומר עזר.

יצירה ואימות של כינויים

צריך ליצור כינויים לפני השימוש. במקרים מסוימים, המשתמשים חייבים גם לאמת את הבעלות על כתובת אימייל חלופית.

אם Gmail דורש אימות משתמש עבור כינוי, הכינוי מוחזר עם סטטוס pending. הודעת אימות תישלח באופן אוטומטי כתובת האימייל של היעד. הבעלים של כתובת האימייל צריך להשלים את תהליך האימות לפני שאפשר להשתמש בו.

לכינויים שלא מחייבים אימות יש סטטוס אימות של accepted.

אפשר להשתמש בשיטת האימות כדי אם צריך, שולחים מחדש את בקשת האימות.

הגדרות SMTP

כינויים עבור כתובות חיצוניות צריכים לשלוח דואר דרך SMTP מרוחק סוכן שליחת דואר (MSA). כדי להגדיר את ה-MSA של ה-SMTP לכתובת אימייל חלופית, צריך להשתמש ב- השדה smtpMsa כדי לספק את פרטי החיבור.

ניהול חתימות

תוכלו גם להגדיר חתימות לאימייל לכל כתובת אימייל חלופית. לדוגמה, כדי להגדיר את חתימה לכתובת הראשית של המשתמש:

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