iPhone в приложении электронной почты - PullRequest
1 голос
/ 09 марта 2011

У меня есть приложение, которое отправляет электронное письмо, но есть ли способ поместить фотографию в мое электронное письмо над текстом, который я отправляю. Вроде как заголовок для отображения моего логотипа.

Ответы [ 3 ]

2 голосов
/ 09 марта 2011
// Action for submenu Email Button
- (IBAction)emailButtonPressed {
[delegate playSound:@"Click_16"];

if (connectionStatus == YES) 
{

    if (maxCounter) 
    {
        NSString *filename = (NSString *)[self currentImageObject:kSerialKey AtIndex:imageCounter];

        NSString* documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

            // set up image data for email
        NSString *imageFile = [documentsDirectory stringByAppendingPathComponent:filename];
        NSData *imageData = [NSData dataWithContentsOfFile:imageFile];

            // set up mail view controller for message
        MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
        if (controller != nil) 
        {
            controller.mailComposeDelegate = self;
            [controller setSubject:@"Email Subject"];
            [controller setMessageBody:@"Check out this picture" isHTML:NO];
            [controller addAttachmentData:imageData mimeType:@"image/png" fileName:filename];
            [self presentModalViewController:controller animated:YES];

        }

        [controller release];

    }

    else 
        [self genericAlert:@"There are no pictures to email."];

}

else
    [self genericAlert:@"You are not connected to the internet.  Please connect and try again."];

}

// email delegate method to dismiss window
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
    [self becomeFirstResponder];
    [self dismissModalViewControllerAnimated:YES];
}
1 голос
/ 11 марта 2011

Когда вы прикрепляете изображение с помощью MFMailComposeViewController, оно всегда отображается внизу сообщения (под вашим текстом, но над подписью), и это не может быть изменено в текущей версии платформы.

Однако можно закодировать данные изображения в base64 и поместить их непосредственно в тело HTML вашего приложения.Я не буду включать здесь код (вы можете легко его погуглить), потому что это сложно и проблематично, так как не все читатели будут интерпретировать это правильно.

Если это изображение заголовка, которое будет одинаковым для всех писемВы можете поместить это на сервер где-нибудь, а затем включить в ваше электронное письмо HTML-тег <img>, который ссылается на этот файл.

Если это динамическое изображение, ваше приложение может загрузить его на один из множествасайты размещения изображений, получите URL-адрес и снова включите его в качестве src тега <img> в тексте вашего электронного письма в формате HTML.

0 голосов
/ 09 марта 2011

Вы должны использовать метод - (void)addAttachmentData:(NSData*)attachment mimeType:(NSString*)mimeType fileName:(NSString*)filename из MFMailComposeViewController класса.

Вот отличный пример этого , который показывает взятие изображения с камеры, а затемотправив письмо по электронной почте!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...