Текстовый файл отображается в виде небольшого поля в теле письма в цели ios c

введите здесь описание изображения

Я хочу отправить 2 вложения по почте. Один - изображение, а другой - текстовый файл. Но когда я отправляю оба вложения по одной почте, текстовый файл отображается как квадратное пустое поле. Изображение и текстовый файл, оба файла принимаются на стороне получателя и также доступны для чтения. Но единственная проблема заключается в том, что отправитель не может видеть текстовый файл в теле письма перед отправкой почты. Код для отправки почты приведен ниже.

- (void)showEmail:(NSString*)file {    

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *dateFromString = [dateFormatter dateFromString:abc4];
    [dateFormatter setDateFormat:@"MM/dd/yyyy"];
    NSString *titledate=[dateFormatter stringFromDate:dateFromString];
    NSString *emailTitle = [NSString stringWithFormat:@"(%@)",titledate];
    [dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
    NSString *subjectdate=[dateFormatter stringFromDate:dateFromString];
    NSString *messageBody = [NSString stringWithFormat:@"%@ %@",abc,subjectdate];
    //NSArray *toRecipents = [NSArray arrayWithObject:self.txtfldEmail.text];


    MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init];
    mc.mailComposeDelegate = self;
    [mc setSubject:emailTitle];
    [mc setMessageBody:messageBody isHTML:NO];
    //[mc setToRecipients:toRecipents];    

    // Determine the file name and extension

    NSArray *filepart = [file componentsSeparatedByString:@"."];
    NSString *filename = [filepart objectAtIndex:0];
    NSString *extension = [filepart lastObject];

    // Get the resource path and read the file using NSData
    //NSString *filePath = [[NSBundle mainBundle] pathForResource:filename ofType:extension];   

    //NSString *xyz=[[NSUserDefaults standardUserDefaults]valueForKey:@"readpath"];
    NSData *fileData;
    NSData *fileData1;

    if ([title isEqualToString:@"Excel"]) {
        fileData = [NSData dataWithContentsOfFile:filePath];
        NSString *xyz=[[NSUserDefaults standardUserDefaults]valueForKey:@"commentfilelocation"];
        fileData1=[NSData dataWithContentsOfFile:xyz];
        NSLog(@"fileData1>>%@",fileData1);
    }
    else if([title isEqualToString:@"Screenshot"])
    {
    NSString *xyz=[[NSUserDefaults standardUserDefaults]valueForKey:@"readpath"];
    fileData = [NSData dataWithContentsOfFile:xyz];
    NSString *xyz1=[[NSUserDefaults standardUserDefaults]valueForKey:@"commentfilelocation"];
    NSLog(@"xyz1>>%@",[[NSUserDefaults standardUserDefaults]valueForKey:@"commentfilelocation"]);
    fileData1=[NSData dataWithContentsOfFile:xyz1]; 
    }

    // Determine the MIME type
    NSString *mimeType;
    if ([extension isEqualToString:@"jpg"]) {
        mimeType = @"image/jpeg";
    } else if ([extension isEqualToString:@"png"]) {
        mimeType = @"image/png";
    } else if ([extension isEqualToString:@"doc"]) {
        mimeType = @"application/msword";
    } else if ([extension isEqualToString:@"ppt"]) {
        mimeType = @"application/vnd.ms-powerpoint";
    } else if ([extension isEqualToString:@"html"]) {
        mimeType = @"text/html";
    } else if ([extension isEqualToString:@"txt"]) {
        mimeType = @"text/html";
    } else if ([extension isEqualToString:@"pdf"]) {
        mimeType = @"application/pdf";
    } else if ([extension isEqualToString:@"csv"]) {
        mimeType = @"text/csv";
    }

    NSString *mimeType1;
    if ([extension isEqualToString:@"jpg"]) {
        mimeType1 = @"image/jpeg";
    } else if ([extension isEqualToString:@"png"]) {
        mimeType1 = @"image/png";
    } else if ([extension isEqualToString:@"doc"]) {
        mimeType1 = @"application/msword";
    } else if ([extension isEqualToString:@"ppt"]) {
        mimeType1 = @"application/vnd.ms-powerpoint";
    } else if ([extension isEqualToString:@"html"]) {
        mimeType1 = @"text/html";
    }else if ([extension isEqualToString:@"txt"]) {
        mimeType1 = @"text/html";
    }else if ([extension isEqualToString:@"pdf"]) {
        mimeType1 = @"application/pdf";
    }else if ([extension isEqualToString:@"csv"]) {
        mimeType1 = @"text/csv";
    }

    // Add attachment
    [mc addAttachmentData:fileData mimeType:mimeType fileName:file];  
    NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
    [dateFormatter1 setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *dateFromString1 = [dateFormatter1 dateFromString:abc4];
    [dateFormatter1 setDateFormat:@"MM.dd.yyyy"];
    NSString *titledate1=[dateFormatter1 stringFromDate:dateFromString1];
    NSString *commentfilename=[NSString stringWithFormat:@"%@ %@ comments.txt",abc,titledate1];
    [mc addAttachmentData:fileData1 mimeType:mimeType1 fileName:commentfilename];
    [![enter image description here][1]][1]
    // Present mail view controller on screen
    [self presentViewController:mc animated:YES completion:NULL];
}

Скриншот почты прилагается к вопросу.


person Deepika    schedule 21.08.2017    source источник


Ответы (1)


Вероятно, вам следует попробовать изменить тип пантомимы. Например, вы пытались использовать text/plain? Вместо

if ([extension isEqualToString:@"txt"]) {
        mimeType1 = @"text/html";
}
person DoN1cK    schedule 22.08.2017