12

में एक क्लिक करने योग्य यूआरएल लिंक कैसे एम्बेड करूं, मैं अपना ईमेल MFMailComposeViewController का उपयोग करके एक ईमेल भेजने के लिए चाहता हूं जैसे कि प्राप्तकर्ता संबंधित वेबसाइट को खोलने के लिए एम्बेडेड url पर क्लिक कर सकता है। MFMailComposeViewController स्पष्ट रूप से इसका समर्थन करने के लिए प्रतीत नहीं होता है। कोई विचार?MFMailComposeViewController: मैं ईमेल संदेश निकाय

उत्तर

16

:) हाँ, आप ऐसा कर सकते हैं:

MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init]; 
composer.mailComposeDelegate = self; 
[composer setSubject:subject]; 
[composer setMessageBody:message isHTML:YES];      

जहां संदेश सिर्फ HTML सामग्री के साथ एक NSString है। अंदर आप जो भी HTML चाहते हैं उसे जोड़ सकते हैं।

4

उपयोग setMessageBody:isHTML: और शरीर (<a href="your_url">your link text</a>) में एक उचित HTML लिंक गुजरती हैं और isHTML पैरामीटर के लिए YES गुजरती हैं।

4

क्या आपने अपने कोड को अपने सुझाव पर आजमाया है? मैंने इस वेबसाइट पर जाने से पहले इसे आजमाया, और कहने के लिए खेद है, यह बिल्कुल काम नहीं करता है। लिंक वास्तव में नीले रंग में दिखाई देता है, HTML को HTML के रूप में पढ़ा जाता है, लेकिन कोई लिंक संभव नहीं है। जब मैं लिंक पर क्लिक करता हूं तो मैं इसे संपादित कर सकता हूं ....

कोई बेहतर सुझाव?

+0

क्या आपने प्राप्त ईमेल या संपादन मोड में क्लिक किया था? – AsifHabib

26

मैंने अपना पिछला उत्तर हटा दिया क्योंकि यह गलत और अप्रासंगिक था। बहुत सारे बाल खींचने के बाद मैं अंत में पता लगाया कि मेरे मामले में क्या चल रहा था और शायद इस सवाल में क्या हो रहा है।

जब आप एमएफमेल कॉमपॉइस व्यू कंट्रोलर के लिए एचटीएमएल बॉडी लिखते हैं तो आप HTML में लाइन ब्रेक डाल सकते हैं। किसी भी लाइन> 76 वर्ण लंबा है, तो शरीर इस प्रकार के रूप में व्याख्या की जाएगी:

Content-Type: text/html; charset=UTF-8 
Content-Transfer-Encoding: quoted-printable 

यदि आप में टूटता है, Content-Transfer-Encoding: quoted-printable नहीं होगा लाइन डाल दिया और सब कुछ उम्मीद के रूप में काम करता है। मान लें कि आपके पास उचित HTML है।

एक उदाहरण के रूप में, शरीर का निर्माण इस प्रकार है:

NSMutableString *body = [NSMutableString string]; 
// add HTML before the link here with line breaks (\n) 
[body appendString:@"<h1>Hello User!</h1>\n"]; 
[body appendString:@"<a href=\"http://www.mysite.com/path/to/link\">Click Me!</a>\n"]; 
[body appendString:@"<div>Thanks much!</div>\n"]; 

चीयर्स!

+1

बढ़िया! लाइन ब्रेक के बारे में जानना अच्छा है !, मुझे कुछ समय बचाओ मैन चीयर्स – MaKo

7

मुझे एक ही समस्या है।

मेरा लिंक एचटीएमएल है, मैं 'नीला' देख सकता हूं लेकिन अगर मैं इसे क्लिक करता हूं, तो सफारी मोबाइल नहीं खोलता है। मुझे पाठ को संपादित करने की अनुमति है।

क्लास में मैं इस है:

-(id) init{ 
    self = [super init]; 
    if (self) { 
      if ([MFMailComposeViewController canSendMail]) { 
       self.mailComposeDelegate = self; 
       [self setSubject: @"Subject"]; 
       [self setMessageBody: @"<h2>Body</h2><a href='http://www.google.com'>link example</a>" isHTML: YES]; 
      } 
      else { 
       UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No Mail Accounts" 
                   message:@"You don't have a Mail account configured, please configure to send email." 
                   delegate:nil 
                 cancelButtonTitle:@"OK" 
                 otherButtonTitles: nil]; 
       [alert show]; 
      } 
    } 
    return self; 
} 

-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{ 
    [controller dismissModalViewControllerAnimated: YES]; 
} 

यहाँ आप आईपैड स्क्रीन शॉट देख सकते हैं: iPad Screen shot

अगर मैं भेजने के लिए, और फिर मैं "प्रेषित" करने के लिए मेलबॉक्स लिंक काम करता है जाना, इसलिए मुझे लगता है कि समस्या वह घटना है जो लिंक खोलती है।

धन्यवाद।

+0

क्या आपने क्लिक किया है? क्या आपने लिंक पर रीडायरेक्ट किया है यदि हां तो कृपया यहां पोस्ट करें @ महासागरिक्स धन्यवाद – Maul

+0

हाय, यह एक साल पहले से अधिक था, अगर मैं अब ईमानदार हूं तो मुझे याद नहीं है कि मैंने इस मुद्दे को कैसे समाप्त किया। क्षमा करें और भाग्य! – Mikel

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