ইমেল ফরোয়ার্ডিং পরিচালনা করুন

এই ডকুমেন্টটিতে জিমেইল এপিআই-তে ইমেইল ফরওয়ার্ডিং কীভাবে কনফিগার করতে হয়, তা ব্যাখ্যা করা হয়েছে।

আপনি কোনো অ্যাকাউন্টের জন্য ফরওয়ার্ডিং কনফিগার করতে settings রিসোর্সটি ব্যবহার করতে পারেন। একটি ইমেল অ্যাড্রেসকে ফরওয়ার্ডিং ইমেল অ্যাড্রেস হিসেবে ব্যবহার করার জন্য, সেটিকে অবশ্যই নিম্নলিখিত শর্তগুলোর মধ্যে একটি পূরণ করতে হবে:

  • ইমেল ঠিকানাটি যাচাই করা হয়েছে। আরও তথ্যের জন্য, ‘ফরওয়ার্ডিং ঠিকানা তৈরি ও যাচাই করুন’ দেখুন।
  • ইমেল ঠিকানাটি প্রেরকের ডোমেইনের অন্তর্গত।
  • ইমেল ঠিকানাটি প্রেরকের একই ডোমেইনের অন্তর্গত একটি সাবডোমেইনের অন্তর্গত।
  • ইমেল ঠিকানাটি একই গুগল ওয়ার্কস্পেস অ্যাকাউন্টের অংশ হিসেবে কনফিগার করা একটি ডোমেইন অ্যালিয়াসের অন্তর্গত।

যদি ফরওয়ার্ডিং ইমেল ঠিকানাটি এই নিয়মগুলির মধ্যে কোনো একটি মেনে না চলে, তাহলে API ব্যবহার করে ফরওয়ার্ডিং সেট আপ করা ব্যর্থ হয়।

ফরওয়ার্ডিং অ্যাড্রেস কীভাবে তৈরি , তালিকাভুক্ত , প্রাপ্ত বা মুছে ফেলতে হয় , সে সম্পর্কে তথ্যের জন্য settings.forwardingAddresses রিসোর্সের পদ্ধতিগুলো দেখুন।

অটো-ফরোয়ার্ডিং সেটিংস কীভাবে পেতে বা আপডেট করতে হয় , সে সম্পর্কে তথ্যের জন্য settings রিসোর্সে দেওয়া পদ্ধতিগুলো দেখুন।

ফরওয়ার্ডিং ঠিকানা তৈরি এবং যাচাই করুন

ব্যবহার করার আগে আপনাকে অবশ্যই ফরওয়ার্ডিং অ্যাড্রেস তৈরি করতে হবে। কিছু ক্ষেত্রে, ব্যবহারকারীদের অ্যাড্রেসটির মালিকানাও যাচাই করতে হয়।

যদি Gmail কোনো ফরওয়ার্ডিং অ্যাড্রেসের জন্য ব্যবহারকারী যাচাইকরণের প্রয়োজন মনে করে, তাহলে অ্যাড্রেসটি ' VerificationStatus হিসেবে ' pending অবস্থায় প্রদর্শিত হয়। নির্দিষ্ট ইমেল অ্যাড্রেসে স্বয়ংক্রিয়ভাবে একটি যাচাইকরণ বার্তা পাঠানো হয়। ইমেল অ্যাড্রেসটি ব্যবহার করার আগে এর মালিককে অবশ্যই যাচাইকরণ প্রক্রিয়াটি সম্পন্ন করতে হবে।

যেসব ফরওয়ার্ডিং ঠিকানার যাচাইকরণের প্রয়োজন নেই, সেগুলোর যাচাইকরণ স্থিতি ' accepted থাকে।

স্বয়ংক্রিয় ফরওয়ার্ডিং সক্ষম করুন

আপনি চাইলে আপনার সব নতুন বার্তা অন্য একটি ইমেল ঠিকানায় পাঠিয়ে দিতে পারেন।

এটি করার জন্য, কোনো অ্যাকাউন্টের জন্য অটো-ফরওয়ার্ডিং চালু করতে updateAutoForwarding মেথডটি কল করুন। এই কলের জন্য একটি নিবন্ধিত ও যাচাইকৃত ফরওয়ার্ডিং অ্যাড্রেস এবং ফরওয়ার্ড করা মেসেজগুলোর ওপর কী ব্যবস্থা নেওয়া হবে, তা প্রয়োজন। এগুলো AutoForwarding অবজেক্ট ব্যবহার করে সেট করা হয়।

মেসেজ ফরওয়ার্ড করার পর তার অবস্থা নির্ধারণ করতে disposition ফিল্ডটি ব্যবহৃত হয়। এর ডিফল্ট মান হলো dispositionUnspecified , কিন্তু আপনি এই ফিল্ডটিকে dispositionUnspecified এ সেট করতে পারবেন না।

নিম্নলিখিত কোড নমুনাগুলি দেখায় কিভাবে অটো-ফরওয়ার্ডিং সক্ষম করতে হয় এবং তারপরে ফরওয়ার্ড করা বার্তাগুলিকে ট্র্যাশে সরাতে হয়:

জাভা

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 মেথডটি কল করুন এবং AutoForwarding অবজেক্টের enabled ফিল্ডটির মান false সেট করুন।

নির্দিষ্ট বার্তা ফরোয়ার্ড করুন

স্বয়ংক্রিয় ফরওয়ার্ডিং প্রাপ্ত সমস্ত জিমেইল বার্তা নির্দিষ্ট অ্যাকাউন্টে পাঠিয়ে দেয়। নির্দিষ্ট বার্তা ফরওয়ার্ড করতে, বার্তার বৈশিষ্ট্য বা বিষয়বস্তুর উপর ভিত্তি করে বার্তা ফরওয়ার্ড করার নিয়ম তৈরি করার জন্য একটি ফিল্টার সেট আপ করুন।

একাধিক অ্যাকাউন্টে বার্তা ফরোয়ার্ড করতে, প্রতিটি ফরোয়ার্ডিং ইমেল ঠিকানার জন্য একটি ফিল্টার তৈরি করুন।