MFMailComposerViewController not recognizing URL as link - iphone

MFMailComposerViewController displays a URL in its message body as plain text and not as a tappable link. Is there anyway I can make this happen?

Set is as HTML with The link using – setMessageBody:isHTML:. Plain is as it is called, plain.

MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init];
composer.mailComposeDelegate = self;
[composer setMessageBody:message isHTML:YES];
NSMutableString *body = [NSMutableString string];
[body appendString:#"<h1>Hello User!</h1>\n"];
[body appendString:#"Click Me!\n"];
[composer setMessageBody:body isHTML:YES];
hope this works for u. happy coding :)

Yes It is possible and you can do it this way:
MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init]; composer.mailComposeDelegate = self;
[composer setSubject:subject];
[composer setMessageBody:message isHTML:YES];
//Message is just a NSString with HTML Content and you can have all the HTML Contents in it.

Related

How to Send image in Email body?

I am sending image with some text in Email Body using this link my code is given below
NSString *urlString = #"url";
NSString *searchingurl = [NSString stringWithFormat:#"%#%#", urlString,idnumber];
NSString *string = [NSString stringWithFormat:#"%#<br><br>Item No :%#<br>Type :%#<br>Size : %#",searchingurl,str123,mytype,itemsize];
NSMutableString *emailBody = [[[NSMutableString alloc] initWithString:#"<html><body>"] retain];
NSData *imageData = UIImageJPEGRepresentation(myImage, 1.0f);
NSString *encodedString = [imageData base64Encoding];
[emailBody appendString:[NSString stringWithFormat:#"<p><b><img src='data:image/png;base64,%#'></b></p>",encodedString]];
[emailBody appendString:string];
[emailBody appendString:#"</body></html>"];
NSLog(#"%#",emailBody);
MFMailComposeViewController *emailDialog = [[MFMailComposeViewController alloc] init];
emailDialog.mailComposeDelegate = self;
[emailDialog setSubject:#""];
[emailDialog setMessageBody:emailBody isHTML:YES];
[self presentModalViewController:emailDialog animated:YES];
[emailDialog release];
[emailBody release];
Screenshow for above code
After Sending Mail to Yahoo it show my image and text on both Mackbook and in iphone device , when i send mail to Gmail and checked it in iphone device it show image with text but When i checked gmail in Mackbook it not show my image
Some one Can guide me why my image not show in Gmail on PC.Any help will be appriated.Thanks
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:#"Your subject"];
// Set up recipients
NSArray *toRecipients = [NSArray arrayWithObject:#""];
//NSArray *ccRecipients = [NSArray arrayWithObjects:#"second#example.com", #"third#example.com", nil];
//NSArray *bccRecipients = [NSArray arrayWithObject:#"fourth#example.com"];
[picker setToRecipients:toRecipients];
//[picker setCcRecipients:ccRecipients];
//[picker setBccRecipients:bccRecipients];
NSLog(#"Video size >> %d",(videodta.length/1024)/1024);
[picker addAttachmentData:imageData mimeType:#"image/png" fileName:#"testapp"];
// Fill out the email body text
NSString *emailBody = #"Type your message here";
[picker setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:picker animated:YES];
}

How to open mail within the app from webview?

This is my code..
if ([ [ requestURL scheme ] isEqualToString: #"mailto" ])
{
MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init];
[composer setMailComposeDelegate:self];
if ([MFMailComposeViewController canSendMail]) {
NSString *strEmail = [NSString stringWithFormat:#"%#",requestURL];
NSString *subString = [[strEmail componentsSeparatedByString:#":"] lastObject];
[composer setToRecipients:[NSArray arrayWithObjects:subString, nil]];
[composer setSubject:#"Kreativ-Q"];
[composer setMessageBody:#"" isHTML:YES];
[composer setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self presentModalViewController:composer animated:YES];
[composer release];
}
}
But when i click on the link in webview it is opening in mailBox. and when i send or cancel the mail from there and go back to my app the mail was still there. They show me twice. I just want, it would open in my app only..
Thanks in advance.
May help you:
Set this delegate in your .h file if you didnt.
<MFMailComposeViewControllerDelegate>

can't set Mailto field in MFMailComposeViewController in iphone

I have write code to send mail on button click.But i have email id programatically.
I have output like this.
email#gmail.com Send MailButton
Now when i click on Send MailButton then it open MFMailComposeViewController but to field is empty.Here email#gmail.com is change dynamically it's not fixed.
My code is
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
if([MFMailComposeViewController canSendMail])
{
NSString *emailBody;
emailBody=self.shareString;
//NSLog(#"EMail Body ---- %#",emailBody);
[picker setMessageBody:emailBody isHTML:YES];
[picker becomeFirstResponder];
[self presentModalViewController:picker animated:YES];
}
What should be change here required?
Use following code:
NSArray *tempArray = [[NSArray alloc] initWithObjects:#"abc#gmail.com", nil];
[picker setToRecipients:tempArray];
It's working properly for me.
Thanks,
Hemang.
Well you need to create an array for this first.
-(void)displayComposerSheetEmailUs{
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:#"Hello from the App!"];
// Set up recipients
NSArray *toRecipients = [NSArray arrayWithObject:#"abc#gmail.com"];
[picker setToRecipients:toRecipients];
// Fill out the email body text
NSString *emailBody = #"It is raining in sunny California!";
[picker setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:picker animated:YES];
}

How to send the mail with attachment through SMTP using iphone

Im new to Iphone develoment can any one helpme in getting sample code in send the mail with attachment through SMTP using iphone.
i have tried the sample code from this following URL
http://code.google.com/p/skpsmtpmessage/
Thanks
Below is the sample code to attach file with mail.
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:#"Hello"];
// Set up recipients
NSArray *toRecipients = [NSArray arrayWithObject:#"first#example.com"];
NSArray *ccRecipients = [NSArray arrayWithObjects:#"second#example.com", #"third#example.com", nil];
NSArray *bccRecipients = [NSArray arrayWithObject:#"fourth#example.com"];
[picker setToRecipients:toRecipients];
[picker setCcRecipients:ccRecipients];
[picker setBccRecipients:bccRecipients];
// Attach an image to the email
NSString *path = [[NSBundle mainBundle] pathForResource:#"rainy" ofType:#"png"];
NSData *myData = [NSData dataWithContentsOfFile:path];
[picker addAttachmentData:myData mimeType:#"image/png" fileName:#"myFile"];
// Fill out the email body text
NSString *emailBody = #"Message body : my first email sending ";
[picker setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:picker animated:YES];
[picker release];
Here is how we send attachments with our mail messages (the following attaches a jpeg and assumes fileName has been set elsewhere to a location within your bundle, but really any NSData object will work however you initilize it as long as you set your mimeType correctly):
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController setMessageBody:#"Some Message" isHTML:YES];
[mailViewController setSubject:#"My Subject"];
[mailViewController addAttachmentData:[NSData dataWithContentsOfFile:fileName] mimeType:#"image/jpeg" fileName:#"PrettyPicture.jpg"];
[self presentModalViewController:mailViewController animated:YES];
[mailViewController release];

Mail Composer Issue

Is there a way to get the "from" address of Mail and display it in MFMailComposeViewController?
Is it possible?
Any way to do that..
Please help....
This will fill your MFMailComposeViewController:
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
// Set up subject
[picker setSubject:mailSubjectString];
// Set up recipients
NSArray *toRecipients = [NSArray arrayWithObject:recieverMailAdress];
[picker setToRecipients:toRecipients];
// Fill out the email body text
NSString *emailBody = bodyString;
[picker setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:picker animated:YES];
[picker release];
Edit:
I think you should have an look to skpsmtpmessage