Sample code for 30+ languages & platforms
Objective-C

Add Binary Email Attachment from In-Memory Bytes

Demonstrates how to add an attachment to an email via the AddDataAttachment and AddDataAttachment2 methods.

Chilkat Objective-C Downloads

Objective-C
#import <CkoEmail.h>
#import <CkoFileAccess.h>

BOOL success = NO;

CkoEmail *email = [[CkoEmail alloc] init];

//  First populate a simple email.
email.Subject = @"This is the subject.";
email.Body = @"This is a simple email body.";
email.From = @"Chilkat Software <support@chilkatsoft.com>";
[email AddTo: @"Some Recipient" emailAddress: @"someRecipient@somewhere.com"];

//  Load a JPG file.
//  The actual source of your attachment data can come from anywhere.
//  The point here is that we're first getting the bytes in memory, and THEN adding
//  the bytes as an attachment.
CkoFileAccess *fac = [[CkoFileAccess alloc] init];
NSData jpgBytes;
jpgBytes = [fac ReadEntireFile: @"qa_data/jpg/starfish20.jpg"];

//  Add the JPG bytes via AddDataAttachment.
[email AddDataAttachment: @"tinyStarfish.jpg" content: jpgBytes];

//  We could also add the JPG and explicitly set the content-type w/ AddDataAttachment2
[email AddDataAttachment2: @"teenyStarfish.jpg" content: jpgBytes contentType: @"image/jpg"];

//  Examine the MIME:
NSLog(@"%@",[email GetMime]);

//  This is the MIME of the email:

//  	MIME-Version: 1.0
//  	Date: Mon, 17 Oct 2016 19:28:30 -0500
//  	Message-ID: <44E3519660F8C3B1F0D95F25D1FD5B3840C3E3FE@CHILKAT13>
//  	Content-Type: multipart/mixed; boundary="------------020509000105040006080600"
//  	X-Priority: 3 (Normal)
//  	Subject: This is the subject.
//  	From: "Chilkat Software" <support@chilkatsoft.com>
//  	To: "Some Recipient" <someRecipient@somewhere.com>
//  
//  	--------------020509000105040006080600
//  	Content-Type: text/plain
//  	Content-Transfer-Encoding: 7bit
//  
//  	This is a simple email body.
//  	--------------020509000105040006080600
//  	Content-Type: image/jpeg; name="tinyStarfish.jpg"
//  	Content-Transfer-Encoding: base64
//  	Content-Disposition: attachment; filename="tinyStarfish.jpg"
//  
//  	/9j/4AAQSkZJRgABAQEASABIAAD//gAmRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rvc2hvcD8g
//  	NC4w/9sAQwAQCwwODAoQDg0OEhEQExgoGhgWFhgxIyUdKDozPTw5Mzg3QEhcTkBEV0U3OFBtUVdf
//  	YmdoZz5NcXlwZHhcZWdj/9sAQwEREhIYFRgvGhovY0I4QmNjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj
//  	Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj/8IAEQgAFAAUAwERAAIRAQMRAf/EABcAAAMBAAAA
//  	AAAAAAAAAAAAAAIDBAX/xAAYAQADAQEAAAAAAAAAAAAAAAABAgMEAP/aAAwDAQACEAMQAAAB2kZY
//  	NNEijWKddfTmLgALWH//xAAbEAACAgMBAAAAAAAAAAAAAAABAgMRAAQSE//aAAgBAQABBQL0XqN+
//  	pM2aqJGMiqFFCyg7z//EABwRAAICAgMAAAAAAAAAAAAAAAERAAIQIQMSUf/aAAgBAwEBPwHqU5aq
//  	Axx+y1tMQl4elj//xAAcEQEAAQUBAQAAAAAAAAAAAAABEQACEBIhA1H/2gAIAQIBAT8B3Bhqy7Zc
//  	enyiwmGgDhiOzj//xAAdEAABAwUBAAAAAAAAAAAAAAABAAIREBIhIkFR/9oACAEBAAY/ArZyn+Cg
//  	xtxWuJaoCnqDuin/xAAcEAABBAMBAAAAAAAAAAAAAAABABEhYRAxQVH/2gAIAQEAAT8hkEwPUUR9
//  	DYfE4nxtRpIkBTsayuALIiuY/9oADAMBAAIAAwAAABDWPTsf/8QAGhEAAwADAQAAAAAAAAAAAAAA
//  	AAEREDFBIf/aAAgBAwEBPxC0DVPcWm+Ce4OesrkE6bjH/8QAGBEBAQEBAQAAAAAAAAAAAAAAAREA
//  	QRD/2gAIAQIBAT8QahMiOc8YgSrnTY3ELclHXn//xAAcEAEBAAIDAQEAAAAAAAAAAAABEQAhMUFx
//  	EFH/2gAIAQEAAT8Qn3igmSZSj+c4N4zapMy9IjFV98wncN2iuLFsCEbDGxQkI6RO/n//2Q==
//  
//  	--------------020509000105040006080600
//  	Content-Type: image/jpg; name="teenyStarfish.jpg"
//  	Content-Transfer-Encoding: base64
//  	Content-Disposition: attachment; filename="teenyStarfish.jpg"
//  
//  	/9j/4AAQSkZJRgABAQEASABIAAD//gAmRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rvc2hvcD8g
//  	NC4w/9sAQwAQCwwODAoQDg0OEhEQExgoGhgWFhgxIyUdKDozPTw5Mzg3QEhcTkBEV0U3OFBtUVdf
//  	YmdoZz5NcXlwZHhcZWdj/9sAQwEREhIYFRgvGhovY0I4QmNjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj
//  	Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj/8IAEQgAFAAUAwERAAIRAQMRAf/EABcAAAMBAAAA
//  	AAAAAAAAAAAAAAIDBAX/xAAYAQADAQEAAAAAAAAAAAAAAAABAgMEAP/aAAwDAQACEAMQAAAB2kZY
//  	NNEijWKddfTmLgALWH//xAAbEAACAgMBAAAAAAAAAAAAAAABAgMRAAQSE//aAAgBAQABBQL0XqN+
//  	pM2aqJGMiqFFCyg7z//EABwRAAICAgMAAAAAAAAAAAAAAAERAAIQIQMSUf/aAAgBAwEBPwHqU5aq
//  	Axx+y1tMQl4elj//xAAcEQEAAQUBAQAAAAAAAAAAAAABEQACEBIhA1H/2gAIAQIBAT8B3Bhqy7Zc
//  	enyiwmGgDhiOzj//xAAdEAABAwUBAAAAAAAAAAAAAAABAAIREBIhIkFR/9oACAEBAAY/ArZyn+Cg
//  	xtxWuJaoCnqDuin/xAAcEAABBAMBAAAAAAAAAAAAAAABABEhYRAxQVH/2gAIAQEAAT8hkEwPUUR9
//  	DYfE4nxtRpIkBTsayuALIiuY/9oADAMBAAIAAwAAABDWPTsf/8QAGhEAAwADAQAAAAAAAAAAAAAA
//  	AAEREDFBIf/aAAgBAwEBPxC0DVPcWm+Ce4OesrkE6bjH/8QAGBEBAQEBAQAAAAAAAAAAAAAAAREA
//  	QRD/2gAIAQIBAT8QahMiOc8YgSrnTY3ELclHXn//xAAcEAEBAAIDAQEAAAAAAAAAAAABEQAhMUFx
//  	EFH/2gAIAQEAAT8Qn3igmSZSj+c4N4zapMy9IjFV98wncN2iuLFsCEbDGxQkI6RO/n//2Q==
//  
//  	--------------020509000105040006080600--
//