दिलचस्प पोस्ट
जावा प्रकार पैरामीटर को कम बाध्य क्यों नहीं किया जा सकता? MySQL: # 126 – तालिका के लिए गलत कुंजी फ़ाइल क्या मुझे संभवत: समानांतर स्ट्रीम का उपयोग करना चाहिए? कोड में एक्शन बार शीर्षक रंग बदलने के लिए कैसे करें जब आप किसी सी एप्लिकेशन से बाहर निकलते हैं, तो क्या मॉलोक-एड मेमोरी स्वचालित रूप से मुक्त है? एकाधिक बटन प्रेस के साथ ध्वनि ओवरलैपिंग पंक्तियों को एक डेटाटबल से दूसरी डेटाटैबल में कॉपी करें? सजाए गए कार्यों के हस्ताक्षर को संरक्षित करना ES6 Promise.all () त्रुटि संभाल – है। सेटअप () की आवश्यकता है? एसक्यूएल तिथि बनाम जावा.sql.Date में समयक्षेत्र मैं किसी एक फ़ोल्डर को एक सबवर्सन रिपॉजिटरी से किसी अन्य रिपॉजिटरी में कैसे स्थानांतरित करूं? क्या स्पार्क के केएमएन्स बड़ेडेटा को संभालने में असमर्थ हैं? एक संक्रमण के अंत में एक कॉलबैक आमंत्रित करें org.hibernate.HibernateException: DialectResolutionInfo तक पहुँच शून्य नहीं हो सकता है जब 'hibernate.dialect' सेट नहीं है क्या अस्थिर महंगा है?

कैसे MFMailComposeViewController दिखाए बिना iPhone अनुप्रयोग से मेल भेजने के लिए?

मैं अपने कस्टम आईफोन ऐप से मेल भेजना चाहता हूं मैंने अपने पिछले एप में मेरे MFMailComposeViewController से मेल भेजने के लिए MFMailComposeViewController का उपयोग किया है अब, मैं उपयोगकर्ता को MFMailComposeViewController नहीं दिखाना चाहता, अगर वे Send Mail button मेल स्वचालित रूप से recipient mail address भेजते हैं। मैं यह कैसे कर सकता हूँ? क्या आप इस पर मेरी मदद कर सकते हैं? अग्रिम में धन्यवाद।

मैंने MFMailComposeViewController दिखाने के लिए नीचे कोड का उपयोग किया है,

 MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init]; controller.mailComposeDelegate = self; [controller setSubject:@"Details"]; [controller setMessageBody:@"Hi" isHTML:NO]; [controller setToRecipients:[NSArray arrayWithObjects:@"abcd.m@gmail.com", nil]]; [self presentModalViewController:controller animated:YES]; [controller release]; 

Solutions Collecting From Web of "कैसे MFMailComposeViewController दिखाए बिना iPhone अनुप्रयोग से मेल भेजने के लिए?"

प्रोग्रामिंग के जरिए ईमेल भेजने से, उपयोगकर्ता के हस्तक्षेप के बिना, किसी आईफ़ोन एप्लिकेशन से, किसी भी एप्पल फ़्रेमवर्क के उपयोग से कार्यान्वित नहीं किया जा सकता है। यह एक जेलब्रेक फोन में संभव हो सकता है लेकिन फिर यह ऐप स्टोर के अंदर कभी नहीं देखेगा।

यदि आप ईमेल भेजने पर नियंत्रण चाहते हैं, तो एक बेहतर तरीका एक वेब सेवा सेट करना होगा (आपके सर्वर के अंत में) आप HTTP अनुरोध का उपयोग करने के लिए पोस्ट कर सकते हैं यदि आप केवल एक पते पर पोस्ट कर रहे हैं तो यह बहुत अच्छी तरह से काम कर सकता है, यद्यपि आप अपना रिटर्न मेल पता इनपुट करने के लिए उपयोगकर्ता को प्राप्त कर सकते हैं।

अन्यथा केवल मानक संवाद उपलब्ध है (यह डिवाइस पर जो भी खाता सेटअप किया गया है उसका उपयोग करने पर निर्भर करता है)।

आईओएस एसडीके ने अंतर्निहित एपीआई का उपयोग करके ईमेल भेजने के लिए वास्तव में आसान बना दिया है। कुछ पंक्ति कोड के साथ, आप स्टॉक मेल ऐप के रूप में एक ही ईमेल इंटरफ़ेस लॉन्च कर सकते हैं जो आपको एक ईमेल लिखने देता है आप मेल संगीतकार फॉर्म को पॉप अप कर सकते हैं, संदेश लिख सकते हैं और MFMailComposeViewController वर्ग का उपयोग करके सादा मेल या फ़ाइल संलग्न मेल भेज सकते हैं। अधिक जानकारी के लिए: अपने आईओएस ऐप से ई-मेल भेजना

लेकिन, इस खंड में मैं क्या करने जा रहा हूं, मेल कम्पोज़र शीट यानी I पृष्ठभूमि में ईमेल भेजने इस सुविधा के लिए, हम आईओएस मूल एमएफमेल कॉम्पोज़र क्लास का उपयोग नहीं कर सकते क्योंकि यह हमें पृष्ठभूमि में ईमेल भेजने की अनुमति नहीं देता है, बल्कि यह मेल कम्पोज़र दृश्य को पॉप अप करता है जहां उपयोगकर्ता को "भेजें" बटन टैप करना पड़ता है, इसलिए इस अनुभाग में मैं जा रहा हूं पृष्ठभूमि में ईमेल भेजने के लिए SKPSMTPMessage लाइब्रेरी का उपयोग करें, हालांकि इस विधि पर ई-मेल खाते को सख्त होना चाहिए।

सीमाएं:

प्रेषक / रिसीवर ईमेल पते को कठोर करना होगा या आपको अपने ऐप में कुछ पॉप अप फ़ॉर्म का उपयोग करके इसे पकड़ना होगा जहां उपयोगकर्ता इनपुट प्रेषक / रिसीवर ईमेल पता इसके अलावा, प्रेषक खाता क्रेडेंशियल्स को भी कठिन बना दिया जाना चाहिए क्योंकि कोई भी तरीका नहीं है कि हम उसे डिवाइस सेटिंग से पकड़ सकें।

तरीका :

  1. अपनी परियोजना के लिए CFNetwork.framework आयात करें
  2. # इंपोर्ट शामिल करें "SKPSMTPMessage.h" # बेसपोर्ट एन्कोडिंग के लिए "NSData + Base64Additions.h" //
  3. अपने ViewController में शामिल करें
  4. से SKPSMTPMessage लाइब्रेरी डाउनलोड करें
    https://github.com/jetseven/skpsmtpmessage
  5. खींचें और ड्रॉप "SMTPLibrary" फ़ोल्डर जो आपने अपने प्रोजेक्ट में डाउनलोड किया है।

    आगे बढ़ने से पहले, आपको पता है कि मैं इस उदाहरण के लिए कोड में हार्डकोर वाले प्रेषक / रिसीवर ईमेल पते और प्रेषक पासवर्ड का उपयोग कर रहा हूं। लेकिन, आप इस क्रेडेंशियल्स को उपयोगकर्ता से पकड़ सकते हैं, उन्हें कुछ प्रकार के रूपों में इनपुट (UIViews का उपयोग करके)

     -(void) sendEmailInBackground { NSLog(@"Start Sending"); SKPSMTPMessage *emailMessage = [[SKPSMTPMessage alloc] init]; emailMessage.fromEmail = @"sender@gmail.com"; //sender email address emailMessage.toEmail = @"receiver@gmail.com"; //receiver email address emailMessage.relayHost = @"smtp.gmail.com"; //emailMessage.ccEmail =@"your cc address"; //emailMessage.bccEmail =@"your bcc address"; emailMessage.requiresAuth = YES; emailMessage.login = @"sender@gmail.com"; //sender email address emailMessage.pass = @"Passwxxxx"; //sender email password emailMessage.subject =@"@"email subject header message"; emailMessage.wantsSecure = YES; emailMessage.delegate = self; // you must include <SKPSMTPMessageDelegate> to your class NSString *messageBody = @"your email body message"; //for example : NSString *messageBody = [NSString stringWithFormat:@"Tour Name: %@\nName: %@\nEmail: %@\nContact No: %@\nAddress: %@\nNote: %@",selectedTour,nameField.text,emailField.text,foneField.text,addField.text,txtView.text]; // Now creating plain text email message NSDictionary *plainMsg = [NSDictionary dictionaryWithObjectsAndKeys:@"text/plain",kSKPSMTPPartContentTypeKey, messageBody,kSKPSMTPPartMessageKey,@"8bit",kSKPSMTPPartContentTransferEncodingKey,nil]; emailMessage.parts = [NSArray arrayWithObjects:plainMsg,nil]; //in addition : Logic for attaching file with email message. /* NSString *filePath = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"JPG"]; NSData *fileData = [NSData dataWithContentsOfFile:filePath]; NSDictionary *fileMsg = [NSDictionary dictionaryWithObjectsAndKeys:@"text/directory;\r\n\tx- unix-mode=0644;\r\n\tname=\"filename.JPG\"",kSKPSMTPPartContentTypeKey,@"attachment;\r\n\tfilename=\"filename.JPG\"",kSKPSMTPPartContentDispositionKey,[fileData encodeBase64ForData],kSKPSMTPPartMessageKey,@"base64",kSKPSMTPPartContentTransferEncodingKey,nil]; emailMessage.parts = [NSArray arrayWithObjects:plainMsg,fileMsg,nil]; //including plain msg and attached file msg */ [emailMessage send]; // sending email- will take little time to send so its better to use indicator with message showing sending... } 

अब, प्रतिनिधि तरीकों से निपटने:

// सफलता पर

 -(void)messageSent:(SKPSMTPMessage *)message{ NSLog(@"delegate - message sent"); UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Message sent." message:nil delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles: nil]; [alert show]; } 

// विफलता पर

 -(void)messageFailed:(SKPSMTPMessage *)message error:(NSError *)error{ // open an alert with just an OK button UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error!" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles: nil]; [alert show]; NSLog(@"delegate - error(%d): %@", [error code], [error localizedDescription]); } 

ठीक है, कोडिंग पक्ष से सभी को। आशा है कि यह ट्यूटोरियल आपके लिए उपयोगी हो सकता है