ios - por - cómo insertar una imagen en la firma de mail mac
Enviar imagen y texto en el correo electrónico desde la aplicación (5)
Mire la aplicación de muestra MessageComposer
. Básicamente, utilizas addAttachmentData:mimeType:fileName:
Esto es de la aplicación MessageComposer:
NSString *path = [[NSBundle mainBundle] pathForResource:@"rainy" ofType:@"jpg"];
NSData *myData = [NSData dataWithContentsOfFile:path];
[picker addAttachmentData:myData mimeType:@"image/jpeg" fileName:@"rainy"];
¿Cómo puedo enviar una imagen junto con el texto, que está en forma de datos tabulares, en un correo electrónico desde mi aplicación?
Por favor ayuda y haz sugerencias. Gracias.
Puede enviar imágenes como archivos adjuntos, use MFMailComposerController para enviar correos.
-(void)displayComposerSheet
{
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:@"Test Subject"];
// Attach an image to the email
NSString *path = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@",imageName] ofType:@"png"];
NSData *myData = [NSData dataWithContentsOfFile:path];
[picker setMessageBody:body isHTML:NO];
if (picker != nil) {
[self presentModalViewController:picker animated:YES];
[picker release];
}
}
Puede usar MFMailComposeViewController
de Apple para enviar correos desde aplicaciones de iOS. Su documentación oficial está aquí . Su uso
- Agrega MessageUI.framework a tu proyecto
Importar archivos de encabezado necesarios
#import <MessageUI/MessageUI.h> #import <MessageUI/MFMailComposeViewController.h>
Para el correo enviado, abra MFMailComposerController
if ([MFMailComposeViewController canSendMail]) { MFMailComposeViewController *ctrller = [[MFMailComposeViewController alloc] init]; ctrller.mailComposeDelegate = self; [ctrller setSubject:@"Subject Goes Here."]; [ctrller setMessageBody:@"Your message goes here." isHTML:NO]; [self presentModalViewController:ctrller animated:YES]; [ctrller release]; //if not using ARC } else { NSLog(@Device is unable to send email in its current state.); }
Si desea adjuntar datos, puede usar
addAttachmentData:
method[ctrller addAttachmentData:YOUR_DATA_IN_NSDATA_FORMAT mimeType:YOUR_MIME_TYPE fileName:YOUR_ATTACHEMENT_FILENAME];
Utiliza la clase MFMailComposerController para permitir que el usuario redacte y envíe el correo. Puede adjuntar imágenes y otros archivos utilizando el addAttachmentData:mimeType:fileName:
y el cuerpo del mensaje (texto sin formato o HTML) utilizando el setMessageBody:isHTML:
.
Tenga en cuenta que actualmente no hay forma de incluir imágenes en el HTML usando multipart/related
, tendría que usar data:
URI (no soportados por todos los clientes) o imágenes en un servidor externo (también no soportado por todos los clientes, para privacidad razones). O, por supuesto, omita por completo a Apple y envíe el correo a través de una conversación con su propio servidor.
- (void)sendMailWithImage:(UIImage *)image
{
if([MFMailComposeViewController canSendMail]) {
MFMailComposeViewController *mailController = [[MFMailComposeViewController alloc] init];
if(mailController!=nil) {
mailController.mailComposeDelegate = self;
NSData *imageData = UIImagePNGRepresentation(image);
[mailController addAttachmentData:imageData mimeType:@"image/png" fileName:@"MyImageName"];
[mailController setSubject:yourSubject];
[mailController setMessageBody:yourBody isHTML:NO];
[self presentModalViewController:mailController animated:YES];
[mailController release];
}
else
{
//Do something like show an alert
}
}
Espero que esto ayude