2010-08-19 13 views
20

में MFMailComposeViewController का उपयोग करके ईमेल भेजने में असमर्थ IOS ऐप विकास के लिए नया हूं, नीचे कोड मैं ईमेल भेजने के लिए उपयोग करता हूं।सिम्युलेटर

MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init]; 
    controller.mailComposeDelegate = self; 
    [controller setSubject:@"My Subject"]; 
    [controller setMessageBody:@"Hello there." isHTML:NO]; 
    [self presentModalViewController:controller animated:YES]; 
    [controller release]; 



    - (void)mailComposeController:(MFMailComposeViewController*)controller 
        didFinishWithResult:(MFMailComposeResult)result 
           error:(NSError*)error { 

      if (result == MFMailComposeResultSent) { 

       NSLog(@"It's away!"); 
      } 

      [self dismissModalViewControllerAnimated:YES]; 
    } 

दुर्भाग्य से प्रतिनिधि विधियों को कभी भी ट्रिगर नहीं किया जाता है, क्या कोई भी सुझाव दे सकता है कि मैं सिम्युलेटर के माध्यम से अपना ईमेल कैसे देख सकता हूं?

+0

मैं एक ही problem..but का सामना करना पड़ रहा था जब मैं अपने डिवाइस पर की कोशिश की डाउनलोड करने के लिए यह विवरण के लिए lukya .. धन्यवाद ठीक काम किया। –

+0

मेरे काम के लिए मुझे संगीतकार को प्रदर्शित करने की आवश्यकता है। लेकिन मैं ऐसा करने में सक्षम नहीं हूं। MFMailComposeViewController * composeVC = [[MFMailComposeViewController alloc] init]; । यह लाइन अलर्ट कंट्रोलर –

उत्तर

51

आप नहीं सिम्युलेटर के माध्यम से मेल भेजने के कर सकते हैं।

इसके बजाय आप डिवाइस में एप्लिकेशन इंस्टॉल कर सकते हैं और वहां से प्रयास कर सकते हैं।

सिम्युलेटर बस संगीतकार प्रदर्शित करता है लेकिन आपको मेल भेजने की अनुमति नहीं देता है। प्रेषित सफलतापूर्वक यह स्वीकार है कि आपका कोड ठीक है और भेजने के दौरान इसे समाप्त करने में कोई समस्या नहीं है।

+1

पॉप अप करती है यह सही उत्तर है, और भेजे गए मेल एनीमेशन द्वारा बेवकूफ़ बनें, ईमेल * वास्तव में नहीं भेजा गया * है। –

+0

मेरे काम के लिए मुझे बस संगीतकार प्रदर्शित करने की आवश्यकता है। लेकिन मैं ऐसा करने में सक्षम नहीं हूं। MFMailComposeViewController * composeVC = [[MFMailComposeViewController alloc] init]; । यह लाइन अलर्ट नियंत्रक को पॉप अप करती है। –

7

जहाँ तक मुझे पता है, आप मेल सिम्युलेटर से नहीं भेज सकते हैं .. MFMailComposeViewController मेलबॉक्स iPhone के Mail ऐप्स में विन्यस्त मेल भेजने के लिए उपयोग करता है। सिम्युलेटर में मेल ऐप नहीं है।

+0

पॉप अप करती है मेरे कार्य के लिए मुझे संगीतकार को प्रदर्शित करने की आवश्यकता है। लेकिन मैं ऐसा करने में सक्षम नहीं हूं। MFMailComposeViewController * composeVC = [[MFMailComposeViewController alloc] init]; । यह लाइन अलर्ट कंट्रोलर –

3

आप कर सकते हैं जीमेल कनेक्टिविटी आपको लगता है कि आप अपने कोड जो एक मेल भेजने के लिए उपयोग कोड निम्नलिखित में कोड और सेटिंग की कुछ राशि डालने की आवश्यकता के लिए उपयोगकर्ता के लिए मेल भेज सकते हैं का उपयोग कर मेल भेजने में सक्षम।

- (IBAction)sendMessageInBack:(id)anObject{ 

    NSLog(@"Start Sending"); 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

    NSString *documentsDirectory = [paths objectAtIndex:0]; 

    NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"sample.pdf"]; 



    NSData *dataObj = [NSData dataWithContentsOfFile:writableDBPath]; 

    SKPSMTPMessage *testMsg = [[SKPSMTPMessage alloc] init]; 

    testMsg.fromEmail = @"Your mail id"; 

    testMsg.toEmail = @"sender mail ids"; 

    testMsg.relayHost = @"smtp.gmail.com"; 

    testMsg.requiresAuth = YES; 

    testMsg.login = @"Uour mail id"; 

    testMsg.pass = @"your pass"; 

    testMsg.subject = @"Test application "; 

    testMsg.wantsSecure = YES; // smtp.gmail.com doesn't work without TLS! 

    // Only do this for self-signed certs! 

    // testMsg.validateSSLChain = NO; 

    testMsg.delegate = self; 

    NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:@"text/plain",kSKPSMTPPartContentTypeKey, 

           @"Some text to include in body",kSKPSMTPPartMessageKey,@"8bit",kSKPSMTPPartContentTransferEncodingKey,nil]; 




     testMsg.parts = [NSArray arrayWithObjects:plainPart,nil]; 

    [testMsg send]; 



} 


-(void)messageSent:(SKPSMTPMessage *)message{ 
    [message release]; 
    NSLog(@"delegate - message sent"); 
} 



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

और फ़ाइलों के बाद आपकी परियोजना में प्रतिलिपि बनाएँ।

enter image description here

एक नमूना code here.

+0

यह एपीआई संलग्नक के बिना ठीक काम करता है। जब आप दो से अधिक फाइलें संलग्न करते हैं तो यह क्रैश हो जाएगा। मुझे लगता है कि MFMailComposeViewController SKPSMTPMessage से बेहतर है –

संबंधित मुद्दे