संदेश भेजना और फ़ॉरवर्ड करना - Java प्रोग्राम का उपयोग करके Outlook ईमेल संदेश भेजें

यह SmtpClient क्लास एप्लिकेशन को सिम्पल मेल ट्रांसफ़र प्रोटोकॉल (SMTP) का उपयोग करके ईमेल भेजने की अनुमति देता है।

  • यह SmtpClient क्लास वह मुख्य एंट्री है जिसका उपयोग डेवलपर्स मेल संदेश भेजने के लिए करते हैं।
  • यह SmtpClient क्लास अन्य सामान्य ईमेल डिलीवरी विधियाँ भी प्रदान करता है, जैसे कि ईमेल संदेशों को फाइल सिस्टम, मैसेज क्यू आदि में लिखना।
  • यह SmtpClient क्लास पूरी तरह से इन दो प्रोग्रामिंग मॉडल्स को समर्थन देता है:
  • यह SmtpClient क्लास भी समर्थन करता है संदेशों को TNEF के रूप में भेजना

ईमेल संदेश भेजने और इसे SMTP सर्वर तक भेजे जाने की प्रतीक्षा करते हुए ब्लॉक करने के लिए, सिंक्रोनस Send विधियों में से एक का उपयोग करें। ईमेल भेजे जाने के दौरान आपकी प्रोग्राम की मुख्य थ्रेड को जारी रखने देने के लिए, उपयोग करें beginSend विधि।

सिंक्रोनस रूप से ईमेल भेजना

एक ईमेल संदेश को सिंक्रोनस रूप से उपयोग करके भेजा जा सकता है SmtpClient क्लास send विधि। यह निर्दिष्ट ईमेल संदेश को डिलीवरी के लिए SMTP सर्वर के माध्यम से भेजता है। संदेश भेजने वाला, प्राप्तकर्ता, विषय, और संदेश बॉडी को स्ट्रिंग ऑब्जेक्ट्स का उपयोग करके निर्दिष्ट किया जाता है। ईमेल संदेश को सिंक्रोनस रूप से भेजने के लिए, नीचे दिए गए चरणों का पालन करें:

  1. का एक इंस्टेंस बनाएं MailMessage क्लास और इसके गुण सेट करें।
  2. का एक इंस्टेंस बनाएं SmtpClient क्लास और होस्ट, पोर्ट, उपयोगकर्ता नाम एवं पासवर्ड निर्दिष्ट करें।
  3. संदेश भेजें उपयोग करके SmtpClient क्लास send विधि और पास करें MailMessage इंस्टैंस।

निम्नलिखित जावा कोड स्निपेट दिखाता है कि आउटलुक ईमेल को सिंक्रोनस रूप से कैसे भेजें।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Declare msg as MailMessage instance
MailMessage msg = new MailMessage();

// Create an instance of SmtpClient class
SmtpClient client = new SmtpClient();

// Specify your mailing host server, Username, Password, Port # and Security option
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send will send this message
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
}

असिंक्रोनस रूप से ईमेल भेजना

कभी-कभी, आप मेल असिंक्रोनस रूप से भेजना चाह सकते हैं। उदाहरण के लिए, यदि आप अपने एप्लिकेशन के माध्यम से बड़ी मात्रा में मेल भेज रहे हैं, तो सिंक्रोनस तरीका काम नहीं कर सकता। ऐसे परिदृश्य में, आप उपयोग कर सकते हैं beginSend. यह beginSend विधि SmtpClient क्लास एक ईमेल संदेश को डिलीवरी के लिए SMTP सर्वर पर भेजती है। यह विधि कॉलिंग थ्रेड को ब्लॉक नहीं करती और कॉलर को एक ऑब्जेक्ट पास करने की अनुमति देती है जिसे ऑपरेशन समाप्त होने पर कॉल किया जाता है। जावा में आउटलुक ईमेल संदेश असिंक्रोनस रूप से भेजने के लिए, निम्न चरणों का पालन करें:

  1. का एक इंस्टेंस बनाएं MailMessage क्लास और इसके विभिन्न गुणों का उपयोग करें।
  2. का एक इंस्टेंस बनाएं SmtpClient क्लास और होस्ट, पोर्ट, उपयोगकर्ता नाम, तथा पासवर्ड निर्दिष्ट करें।
  3. एक उपयोगकर्ता-परिभाषित इंस्टेंस बनायें जिसे विधि को पास किया जाएगा और जब असिंक्रोनस ऑपरेशन पूरा हो जायेगा तब कॉल किया जाएगा।
  4. संदेश भेजें उपयोग करके beginSend की विधि SmtpClient क्लास और पास करें MailMessage इंस्टेंस और उसमें उपयोगकर्ता-परिभाषित इंस्टेंस के साथ एक कॉलबैक फ़ंक्शन जो ऑपरेशन के पूर्ण होने पर कॉल किया जाएगा।

ईमेल भेजे जाने या ऑपरेशन रद्द होने पर नोटिफिकेशन प्राप्त करने के लिए, कॉलबैक फ़ंक्शन जिसे पास किया गया है beginSend विधि को बुलाया जाता है। कॉल करने के बाद SmtpClient क्लास beginSend विधि में ईमेल संदेश के पूरी तरह भेजे जाने की प्रतीक्षा करने की आवश्यकता नहीं है। हम किसी अन्य विधि को कॉल कर सकते हैं। beginSend एक ही समय पर। जब एक ईमेल भेजा जाता है उपयोग करके beginSend मेथड, कोड स्निपेट एक संदेश ("Message Sent") प्रिंट करता है। नीचे दिया गया Java प्रोग्राम या कोड स्निपेट दिखाता है कि असिंक्रोनस रूप से ईमेल कैसे भेजें।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

public static void run() {
    sendMail();
}

static SmtpClient getSmtpClient() {
    SmtpClient client = new SmtpClient();
    client.setHost("mail.server.com");
    // Specify your mail Username, Password, Port # and security option
    client.setUsername("username");
    client.setPassword("password");
    client.setPort(587);
    client.setSecurityOptions(SecurityOptions.SSLExplicit);
    return client;
}

static void sendMail() {
    try {

        // Declare msg as MailMessage instance
        MailMessage msg = new MailMessage("sender@gmail.com", "receiver@gmail.com", "Test subject", "Test body");
        SmtpClient client = getSmtpClient();
        Object state = new Object();
        IAsyncResult ar = client.beginSend(msg, callback, state);
        // If the user canceled the send, and mail hasn't been sent yet,
        client.cancelAsyncOperation(ar);

        msg.dispose();
        System.out.println("Goodbye.");
    } catch (Exception ex) {
        System.err.println(ex);
    }
}

static AsyncCallback callback = new AsyncCallback() {
    public void invoke(IAsyncResult ar) {
        IAsyncResultExt task = null;
        if (ar instanceof IAsyncResult)
            task = (IAsyncResultExt) ar;

        if (task != null && task.isCanceled()) {
            System.out.println("Send canceled.");
        }

        if (task != null && task.getErrorInfo() != null) {
            System.out.println(task.getErrorInfo());
        } else {
            System.out.println("Message Sent.");
        }
    }
};

डिस्क से संग्रहीत संदेश भेजना

EML फाइलें, (Outlook Express इलेक्ट्रॉनिक मेल फाइलें) में ईमेल हेडर, संदेश बॉडी, और अटैचमेंट होते हैं। Aspose.Email डेवलपर्स को विभिन्न तरीकों से EML फाइलों के साथ काम करने देता है। यह लेख दिखाता है कि डिस्क से EML फाइलें लोड करके SMTP के साथ ईमेल के रूप में कैसे भेजें। आप .eml फाइलें डिस्क या स्ट्रीम से लोड करके … में डाल सकते हैं। MailMessage क्लास और इसका उपयोग करके ईमेल संदेश भेजें SmtpClient class। यह MailMessage क्लास नए ईमेल संदेश बनाने, डिस्क या स्ट्रीम से ईमेल फ़ाइलें लोड करने और संदेशों को सहेजने के मुख्य क्लास है। नीचे दिया गया Java कोड स्निपेट डिस्क से संग्रहीत संदेशों को भेजने का तरीका दिखाता है।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Load an EML file in MailMessage class
MailMessage message = MailMessage.load(dataDir + "test.eml");

// Send this message using SmtpClient
SmtpClient client = new SmtpClient("host", "username", "password");

try {
    client.send(message);
} catch (Exception ex) {
    System.out.println(ex.getMessage());
}

प्लेन टेक्स्ट ईमेल भेजना

नीचे के प्रोग्रामिंग उदाहरण दिखाते हैं कि प्लेन टेक्स्ट ईमेल संदेश कैसे भेजें। यह बॉडी प्रॉपर्टी, क्लास की एक प्रॉपर्टी MailMessage क्लास, संदेश बॉडी की प्लेन टेक्स्ट सामग्री निर्दिष्ट करने के लिए उपयोग की जाती है। प्लेन टेक्स्ट ईमेल संदेश भेजने के लिए इन चरणों का पालन करें:

  • का एक इंस्टेंस बनाएं MailMessage क्लास।
  • प्रेषक और प्राप्तकर्ता के ईमेल पते निर्दिष्ट करें MailMessage इंस्टैंस।
  • निर्दिष्ट करें बॉडी सामग्री, जो प्लेन टेक्स्ट संदेश के लिए उपयोग होती है।
  • का एक इंस्टेंस बनाएं SmtpClient क्लास और ईमेल भेजें।

निम्नलिखित कोड स्निपेट आपको साधारण टेक्स्ट ईमेल भेजने का तरीका दिखाता है।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Create an instance of the MailMessage class
MailMessage message = new MailMessage();

// Set From field, To field and Plain text body
message.setFrom(MailAddress.to_MailAddress("sender@sender.com"));
message.getTo().add("receiver@receiver.com");
message.setBody("This is Plain Text Body");

// Create an instance of the SmtpClient class
SmtpClient client = new SmtpClient();

// And Specify your mailing host server, Username, Password and Port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try {
    // Client.Send will send this message
    client.send(message);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
}

HTML बॉडी के साथ ईमेल भेजना

नीचे के प्रोग्रामिंग उदाहरण दिखाते हैं कि आप साधारण HTML ईमेल संदेश कैसे भेज सकते हैं। यह HtmlBody, क्लास की एक प्रॉपर्टी MailMessage क्लास, संदेश बॉडी की HTML सामग्री निर्दिष्ट करने के लिए उपयोग की जाती है। साधारण HTML ईमेल भेजने के लिए इन चरणों का पालन करें:

  • का एक इंस्टेंस बनाएं MailMessage क्लास।
  • प्रेषक और प्राप्तकर्ता के ईमेल पते को निर्दिष्ट करें MailMessage इंस्टैंस।
  • निर्दिष्ट करें HtmlBody सामग्री।
  • का एक इंस्टेंस बनाएं SmtpClient क्लास और इसका उपयोग करके ईमेल भेजें send विधि।

इस लेख के उद्देश्य से, ईमेल की HTML सामग्री साधरण है: यह HTML बॉडी है अधिकांश HTML ईमेल अधिक जटिल होंगी। निम्नलिखित Java प्रोग्राम स्निपेट आपको HTML बॉडी के साथ ईमेल भेजने का तरीका दिखाता है।

public static void run() {
    // Declare msg as MailMessage instance
    MailMessage msg = new MailMessage();

    // Use MailMessage properties like specify sender, recipient, message and HtmlBody
    msg.setFrom(MailAddress.to_MailAddress("newcustomeronnet@gmail.com"));
    msg.setTo(MailAddressCollection.to_MailAddressCollection("asposetest123@gmail.com"));
    msg.setSubject("Test subject");
    msg.setHtmlBody("<html><body>This is the HTML body</body></html>");
    SmtpClient client = getSmtpClient();
    try {
        // Client will send this message
        client.send(msg);
        System.out.println("Message sent");
    } catch (Exception ex) {
        System.err.println(ex);
    }

    System.out.println("Email sent with HTML body.");
}

private static SmtpClient getSmtpClient() {
    SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "your.email@gmail.com", "your.password");
    client.setSecurityOptions(SecurityOptions.Auto);
    return client;
}

वैकल्पिक संदेश टेक्स्ट के साथ ईमेल भेजना

नीचे के प्रोग्रामिंग उदाहरण दर्शाते हैं कि विकल्पीय कंटेंट के साथ साधारण HTML ईमेल संदेश कैसे भेजें। उपयोग करें AlternateView क्लास का उपयोग करके ईमेल संदेश की विभिन्न फ़ॉर्मेट में प्रतियां निर्दिष्ट करें। उदाहरण के लिए, यदि आप संदेश HTML में भेजते हैं, तो आप उन प्राप्तकर्ताओं के लिए प्लेन टेक्स्ट संस्करण भी प्रदान करना चाह सकते हैं जो HTML कंटेंट नहीं दिखा सकते। या, यदि आप न्यूज़लेटर भेज रहे हैं, तो उन प्राप्तकर्ताओं के लिए प्लेन टेक्स्ट संस्करण देना उपयोगी हो सकता है जिन्होंने इसे चुना है। वैकल्पिक टेक्स्ट के साथ ईमेल भेजने के लिए इन चरणों का पालन करें:

  1. का एक इंस्टेंस बनाएं MailMessage क्लास।
  2. प्रेषक और प्राप्तकर्ता के ईमेल पते निर्दिष्ट करें MailMessage इंस्टैंस।
  3. का एक इंस्टेंस बनाएं AlternateView क्लास।

यह स्ट्रिंग में निर्दिष्ट कंटेंट का उपयोग करके ईमेल संदेश का वैकल्पिक व्यू बनाता है।

  1. इंस्टेंस जोड़ें AlternateView क्लास को MailMessage ऑब्जेक्ट।
  2. का एक इंस्टेंस बनाएं SmtpClient क्लास और इसका उपयोग करके ईमेल भेजें send विधि।

निम्नलिखित कोड स्निपेट आपको वैकल्पिक टेक्स्ट के साथ ईमेल भेजने का तरीका दिखाता है।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Declare message as MailMessage instance
MailMessage message = new MailMessage();

// Creates AlternateView to view an email message using the content specified in the //String
AlternateView alternate = AlternateView.createAlternateViewFromString("Alternate Text");

// Adding alternate text
message.getAlternateViews().addItem(alternate);

बल्क ईमेल भेजना

बल्क में ईमेल भेजना एक संदेश में कई ईमेल का बैच भेजना है। हम इस बैच को … का उपयोग करके भेज सकते हैं। SmtpClient क्लास send मेथड ओवरलोड जो एक को स्वीकार करता है MailMessageCollection क्लास:

  1. का एक इंस्टेंस बनाएं SmtpClient क्लास।
  2. निर्दिष्ट करें SmtpClient क्लास प्रॉपर्टीज़।
  3. का एक इंस्टेंस बनाएं MailMessage क्लास।
  4. प्रेषक, प्राप्तकर्ता, मेल विषय और संदेश को इंस्टेंस में निर्दिष्ट करें MailMessage क्लास।
  5. यदि आप किसी अन्य व्यक्ति को ईमेल भेजना चाहते हैं, तो उपरोक्त दो चरणों को दोहराएँ।
  6. का एक इंस्टेंस बनाएं MailMessageCollection क्लास।
  7. एक इंस्टेंस जोड़ें MailMessage क्लास को ऑब्जेक्ट में MailMessageCollection क्लास।
  8. अब अपने ईमेल को उपयोग करके भेजें SmtpClient क्लास send मेथड जिसमें आप इंस्टेंस पास करते हैं MailMessageCollection उसमें क्लास।

निम्नलिखित कोड स्निपेट आपको बल्क ईमेल भेजने का तरीका दिखाता है।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Create SmtpClient as client and specify server, port, user name and password
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");

// Create instances of MailMessage class and Specify To, From, Subject and Message
MailMessage message1 = new MailMessage("msg1@from.com", "msg1@to.com", "Subject1", "message1, how are you?");
MailMessage message2 = new MailMessage("msg1@from.com", "msg2@to.com", "Subject2", "message2, how are you?");
MailMessage message3 = new MailMessage("msg1@from.com", "msg3@to.com", "Subject3", "message3, how are you?");

// Create an instance of MailMessageCollection class
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);

// Use client.BulkSend function to complete the bulk send task
try {
    // Send Message using BulkSend method
    client.send(manyMsg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
}

भेजे गए बल्क संदेशों की जानकारी प्राप्त करें

जब आप बल्क में संदेश भेजते हैं, तो आप सफलतापूर्वक भेजे गए संदेशों की संख्या और उनके सूची की जानकारी प्राप्त कर सकते हैं। यह SucceededSending इवेंट इस प्रयोजन के लिए उपयोग किया जाता है।

नीचे दिया गया कोड नमूना सफलतापूर्वक भेजे गए संदेशों की संख्या की जानकारी प्राप्त करने का तरीका दर्शाता है:

try (SmtpClient client = new SmtpClient(host, SecurityOptions.Auto)) {
    final AtomicInteger messageCount = new AtomicInteger(0);

    client.setSucceededSending(new EventHandler<MailMessageEventArgs>() {
        public void invoke(Object sender, MailMessageEventArgs eventArgs) {
            System.out.println("The message " + eventArgs.getMessage().getSubject() + " was successfully sent.");
            messageCount.incrementAndGet();
        }
    });

    client.send(messages);

    System.out.println(messageCount + " messages were successfully sent.");
}

मल्टीकनेक्शन के साथ ईमेल भेजना

SmtpClient एक प्रदान करता है UseMultiConnection प्रॉपर्टी जिसका उपयोग भारी ऑपरेशनों के लिए कई कनेक्शन बनाने में किया जा सकता है। आप मल्टीकनेक्शन मोड में उपयोग किए जाने वाले कनेक्शन की संख्या सेट भी कर सकते हैं, इसके लिए SmtpClient.ConnectionsQuantity. निम्नलिखित कोड स्निपेट मल्टीकनेक्शन मोड का उपयोग करके कई संदेश भेजने को दर्शाता है।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

SmtpClient smtpClient = new SmtpClient();
smtpClient.setHost("<HOST>");
smtpClient.setUsername("<USERNAME>");
smtpClient.setPassword("<PASSWORD>");
smtpClient.setPort(587);
smtpClient.setSupportedEncryption(EncryptionProtocols.Tls);
smtpClient.setSecurityOptions(SecurityOptions.SSLExplicit);

List<MailMessage> messages = new ArrayList<MailMessage>();
for (int i = 0; i < 20; i++) {
    MailMessage message = new MailMessage("<EMAIL ADDRESS>", "<EMAIL ADDRESS>", "Test Message - " + UUID.randomUUID().toString(),
            "SMTP Send Messages with MultiConnection");
    messages.add(message);
}

smtpClient.setConnectionsQuantity(5);
smtpClient.setUseMultiConnection(MultiConnectionMode.Enable);
smtpClient.send(messages);

संदेश को TNEF के रूप में भेजना

TNEF ईमेल में विशेष फॉर्मेटिंग होती है जिसे मानक API का उपयोग करके भेजने पर खो सकता है। Aspose.Email ईमेल को TNEF के रूप में भेजने की क्षमता प्रदान करता है, जिससे फॉर्मेट संरक्षित रहता है। यह SmtpClient क्लास UseTnef प्रॉपर्टी को सेट किया जा सकता है ताकि ईमेल को TNEF के रूप में भेजा जा सके। निम्नलिखित कोड स्निपेट दिखाता है कि संदेश को TNEF के रूप में कैसे भेजें।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

String emlFileName = dataDir + "Message.eml"; // A TNEF Email

// Load from eml
MailMessage eml1 = MailMessage.load(emlFileName, new EmlLoadOptions());
eml1.setFrom(MailAddress.to_MailAddress("somename@gmail.com"));
eml1.getTo().clear();
eml1.getTo().addItem(new MailAddress("first.last@test.com"));
eml1.setSubject("With PreserveTnef flag during loading");
eml1.setDate(new Date());
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "somename", "password");
client.setSecurityOptions(SecurityOptions.Auto);
client.setUseTnef(true); // Use this flag to send as TNEF
client.send(eml1);

मीटिंग अनुरोध भेजना

Microsoft Outlook कैलेंडर कार्यों के साथ-साथ ईमेल प्रबंधन भी प्रदान करता है। जब उपयोगकर्ता किसी इवेंट के निमंत्रण के साथ ईमेल खोलता है, Outlook उन्हें आमंत्रण स्वीकार करने या अस्वीकार करने के लिए प्रेरित करता है। Aspose.Email डेवलपर्स को आपके ईमेल में कैलेंडर कार्यक्षमता जोड़ने की अनुमति देता है।

ईमेल के माध्यम से अनुरोध भेजना

ईमेल के माध्यम से मीटिंग अनुरोध भेजने के लिए, निम्न चरणों का पालन करें:

  • का एक इंस्टेंस बनाएं MailMessage क्लास।
  • भेजने वाले और प्राप्तकर्ता पते को एक इंस्टेंस का उपयोग करके निर्दिष्ट करें MailMessage क्लास।
  • के एक इंस्टेंस को प्रारम्भ करें Appointment क्लास और उसके मान पास करें।
  • सारांश और विवरण निर्दिष्ट करें Calendar इंस्टैंस।
  • जोड़ें Calendar) को MailMessage इंस्टेंस और इसे पास करें Appointment इंस्टैंस।

|ईमेल द्वारा भेजा गया iCalendar मीटिंग अनुरोध| | :- | |todo:image_alt_text| निम्नलिखित कोड स्निपेट दिखाता है कि ईमेल के माध्यम से अनुरोध कैसे भेजें।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Create an instance of the MailMessage class
MailMessage msg = new MailMessage();

// Set the sender, recipient, who will receive the meeting request. Basically, the recipient is the same as the meeting attendees
msg.setFrom(MailAddress.to_MailAddress("newcustomeronnet@gmail.com"));
msg.setTo(MailAddressCollection.to_MailAddressCollection("person1@domain.com, person2@domain.com, person3@domain.com, asposetest123@gmail.com"));

// Create Appointment instance
Calendar cal = Calendar.getInstance();
cal.set(2015, Calendar.JULY, 17, 13, 0, 0);
Date startDate = cal.getTime();
cal.set(2015, Calendar.JULY, 17, 14, 0, 0);
Date endDate = cal.getTime();
Appointment app = new Appointment("Room 112", startDate, endDate, msg.getFrom(), msg.getTo());
app.setSummary("Release Meetting");
app.setDescription("Discuss for the next release");

// Add appointment to the message and Create an instance of SmtpClient class
msg.addAlternateView(app.requestApointment());
SmtpClient client = getSmtpClient();

try {
    // Client.Send will send this message
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
}

IBM Lotus Notes के लिए iCalendar समर्थन

Aspose.Email कैलेंडर फीचर iCalendar मानक पर आधारित है, जो कैलेंडर डेटा अभ्यावर्तन के लिए मानक है (RFC 2445 या RFC2445 सिंटैक्स रेफ़रेंस)। इसलिए, यह केवल Microsoft Outlook ही नहीं बल्कि IBM Lotus Notes को भी समर्थन देता है। Lotus Notes में मीटिंग अनुरोध भेजने के लिए, ऊपर उल्लेखित समान चरणों का पालन करें।

SMTP क्लायंट का उपयोग करके ईमेल फ़ॉरवर्ड करें

SMTP क्लायंट के साथ ईमेल फ़ॉरवर्ड करना

ईमेल को फ़ॉरवर्ड करना दैनिक डिजिटल संचार में एक सामान्य प्रथा है। प्राप्त ईमेल को मूल प्रेषकों को साझा किए बिना विशिष्ट प्राप्तकर्ताओं को फ़ॉरवर्ड किया जा सकता है। Aspose.Email API SmtpClient ईमेल को विशिष्ट प्राप्तकर्ताओं को फ़ॉरवर्ड करने की क्षमता प्रदान करता है। इसका फ़ॉरवर्ड विधि का उपयोग किसी प्राप्त या सहेजे गए ईमेल को इच्छित प्राप्तकर्ताओं को फ़ॉरवर्ड करने के लिए किया जा सकता है जैसा कि इस लेख में दिखाया गया है। निम्नलिखित कोड स्निपेट दिखाता है कि SMTP क्लायंट का उपयोग करके ईमेल को कैसे फ़ॉरवर्ड करें।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

// Create an instance of SmtpClient class
SmtpClient client = new SmtpClient();

// Specify your mailing host server, Username, Password, Port and SecurityOptions
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);
MailMessage message = MailMessage.load(dataDir + "Message.eml");
client.forward("Recipient1@domain.com", "Recipient2@domain.com", message);

MailMessage का उपयोग किए बिना ईमेल फ़ॉरवर्ड करना

API भी EML संदेशों को पहले लोड किए बिना फ़ॉरवर्ड करने का समर्थन करता है। MailMessage. यह उन मामलों में उपयोगी है जहाँ सिस्टम मेमोरी संसाधन सीमित होते हैं।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

String host = "mail.server.com";
String username = "username";
String password = "password";
int smtpPort = 587;
String sender = "Sender@domain.com";
MailAddressCollection recipients = new MailAddressCollection();
recipients.add("recepient1@domain.com, recepient2@domain.com");

try (SmtpClient client = new SmtpClient(host, smtpPort, username, password, SecurityOptions.Auto)) {
    String fileName = "test.eml";
    try (FileInputStream fs = new FileInputStream(new File(dataDir + fileName))) {
        client.forward(sender, recipients, fs);
    }
}

मेल मर्ज करना

मेल मर्ज आपको समान ईमेल संदेशों का एक बैच बनाने और भेजने में मदद करता है। ईमेल की मूल सामग्री समान होती है, लेकिन सामग्री को वैयक्तिकृत किया जा सकता है। सामान्यतः, प्राप्तकर्ता की संपर्क जानकारी (पहला नाम, दूसरा नाम, कंपनी आदि) का उपयोग ईमेल को वैयक्तिकृत करने के लिए किया जाता है।

|मेल मर्ज कैसे काम करता है इसका चित्रण:| | :- | |todo:image_alt_text| Aspose.Email डेवलपर्स को विभिन्न डेटा स्रोतों से डेटा शामिल करने वाले मेल मर्ज सेट अप करने की सुविधा देता है।

Aspose.Email के साथ मेल मर्ज करने के लिए, निम्नलिखित चरणों का पालन करें:

  1. नाम सिग्नेचर के साथ एक फ़ंक्शन बनाएं
  2. का एक इंस्टेंस बनाएं MailMessage क्लास।
  3. भेजने वाला, प्राप्तकर्ता, विषय, और बॉडी निर्दिष्ट करें।
  4. ईमेल के अंत में सिग्नेचर बनाएँ।
  5. का एक इंस्टेंस बनाएं TemplateEngine क्लास में और इसे पास करें MailMessage इंस्टैंस।
  6. सिग्नेचर लें TemplateEngine इंस्टैंस।
  7. का एक इंस्टेंस बनाएं DataTable क्लास।
  8. कॉलम Receipt, FirstName, और LastName को डेटा स्रोत के रूप में जोड़ें DataTable क्लास।
  9. का एक इंस्टेंस बनाएं DataRow क्लास।
  10. प्राप्ति पता, प्रथम और अंतिम नाम निर्दिष्ट करें DataRow ऑब्जेक्ट।
  11. का एक इंस्टेंस बनाएं MailMessageCollection क्लास
  12. निर्दिष्ट करें TemplateEngine  और DataTable इंस्टेंस में MailMessageCollection इंस्टैंस।
  13. का एक इंस्टेंस बनाएं SmtpClient क्लास और सर्वर, पोर्ट, उपयोगकर्ता नाम, तथा पासवर्ड निर्दिष्ट करें।
  14. का उपयोग करके ईमेल भेजें SmtpClient क्लास send विधि।

नीचे दिए गए नमूने में, #FirstName# दर्शाता है एक DataTable कॉलम, जिसका मान उपयोगकर्ता द्वारा सेट किया गया है। निम्नलिखित कोड स्निपेट दिखाता है कि मेल मर्ज कैसे करें।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
public static void run() {
    // The path to the File directory.
    String dstEmail = dataDir + "EmbeddedImage.msg";

    // Create a new MailMessage instance
    MailMessage msg = new MailMessage();

    // Add subject and from address
    msg.setSubject("Hello, #FirstName#");
    msg.setFrom(MailAddress.to_MailAddress("sender@sender.com"));

    // Add email address to send email also Add mesage field to HTML body
    msg.getTo().add("your.email@gmail.com");
    String htmlBody = "Your message here/r/n" + "Thank you for your interest in <STRONG>Aspose.Email</STRONG>.";

    // Use GetSignment as the template routine, which will provide the same signature
    htmlBody += "<br><br>Have fun with it.<br><br>#GetSignature()#";

    msg.setHtmlBody(htmlBody);

    // Create a new TemplateEngine with the MSG message, Register GetSignature routine. It will be used in MSG.
    TemplateEngine engine = new TemplateEngine(msg);
    engine.registerRoutine("GetSignature", new TemplateRoutine() {
        public Object invoke(Object[] args) {
            return getSignature(args);
        }
    });

    // Create an instance of DataTable and Fill a DataTable as data source
    DataTable dt = new DataTable();
    dt.getColumns().add("Receipt");
    dt.getColumns().add("FirstName");
    dt.getColumns().add("LastName");

    DataRow dr;
    dr = dt.newRow();
    dr.set("Receipt", "Nancy&lt;Nancy@somedomain.com&gt;");
    dr.set("FirstName", "Nancy");
    dr.set("LastName", "Doe");
    dt.getRows().add(dr);
    dr = dt.newRow();
    dr.set("Receipt", "Andrew&lt;Andrew@somedomain.com&gt;");
    dr.set("FirstName", "Andrew");
    dr.set("LastName", "Doe");
    dt.getRows().add(dr);
    dr = dt.newRow();
    dr.set("Receipt", "Janet&lt;Janet@somedomain.com&gt;");
    dr.set("FirstName", "Janet");
    dr.set("LastName", "Doe");
    dt.getRows().add(dr);

    MailMessageCollection messages;
    try {
        // Create messages from the message and datasource.
        messages = engine.instantiate(dt);

        // Create an instance of SmtpClient and specify server, port, username and password
        SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "your.email@gmail.com", "your.password");
        client.setSecurityOptions(SecurityOptions.Auto);

        // Send messages in bulk
        client.send(messages);
    } catch (MailException ex) {
        System.err.println(ex);
    }

    catch (SmtpException ex) {
        System.err.println(ex);
    }

    System.out.println("Message sent after performing mail merge.");
}

// Template routine to provide signature
static Object getSignature(Object[] args) {
    return "Aspose.Email Team<br>Aspose Ltd.<br>" + new Date().toString();
}

पंक्ति-वार मेल मर्ज करना

उपयोगकर्ता व्यक्तिगत डेटा पंक्तियों को भी मर्ज कर एक पूर्ण और तैयार प्राप्त कर सकता है MailMessage ऑब्जेक्ट। यह TemplateEngine.merge विधि का उपयोग पंक्ति-वार मेल मर्ज करने के लिए किया जा सकता है।

// Create message from the data in current row.
MailMessage message = engine.merge(currentRow);