バックグラウンドでメールを送信するためにSKPSSMTPを使用しました。このコードを参照しました。以下のメールに 4 つの画像を添付しています。これは、画像を添付するためのコードです。メールを正常に受信していますが
、コンソールに連続した文字列である永遠のエンコーディングが引き続き表示され、xcode が応答せず、リクエスト タイアウト エラーが発生してアプリがクラッシュすることがあります。
画像を添付するためのコード:
NSData *vcfDataimg_1 = nil,*vcfDataimg_2= nil;
for (int i=0; i<directoryContent.count; i++) {
NSString *imageName=[appDel.arrdelBrushImages objectAtIndex:i];
NSString *vcfPathimg=[dataPath stringByAppendingPathComponent:imageName];
if (i == 0) {
vcfDataimg_1 = [NSData dataWithContentsOfFile:vcfPathimg];
vcfDataimg_1 = [NSDictionary dictionaryWithObjectsAndKeys:@"inline;\r\n\tx-unix-mode=0644;\r\n\tname=\"black.png\"",kSKPSMTPPartContentTypeKey,
@"attachment;\r\n\tfilename=\"black.png\"",kSKPSMTPPartContentDispositionKey,[vcfDataimg_1 encodeBase64ForData],kSKPSMTPPartMessageKey,@"base64",kSKPSMTPPartContentTransferEncodingKey,nil];
}
else {
vcfDataimg_2 = [NSData dataWithContentsOfFile:vcfPathimg];
vcfDataimg_2 = [NSDictionary dictionaryWithObjectsAndKeys:@"inline;\r\n\tx-unix-mode=0644;\r\n\tname=\"red.png\"",kSKPSMTPPartContentTypeKey,
@"attachment;\r\n\tfilename=\"red.png\"",kSKPSMTPPartContentDispositionKey,[vcfDataimg_2 encodeBase64ForData],kSKPSMTPPartMessageKey,@"base64",kSKPSMTPPartContentTransferEncodingKey,nil];
}
}
testMsg.parts = [NSArray arrayWithObjects:plainPart,vcfDataimg_1,vcfDataimg_2, nil];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[testMsg send];