7
votes

MFMailIncomposeViewController CSV Pièce jointe non attachée, mais montrant en ligne à la place

J'ai un problème avec l'envoi des pièces jointes CSV via MFMailCommezeViewController. Parfois, ils viennent tout juste bien, mais pour d'autres utilisateurs, ils ne parlent pas comme des pièces jointes, mais plutôt comme un texte en ligne dans l'e-mail (avec
au lieu des rendements de la ligne.) C'est très étrange. Quelqu'un sache ce que je fais mal? Voici un extrait de mon code: xxx


0 commentaires

6 Réponses :


0
votes

Je crois que le deuxième paramètre à SetMessageborybody: ishtml: doit être Oui pour les pièces jointes à ne pas afficher en ligne.


0 commentaires

0
votes

Même si vous définissez ISHTML PARAM sur Oui, votre corps de message peut être envoyé comme uni clair / texte si le corps du message peut être représenté comme tel. Et les pièces jointes dans les messages simples / texte ne sont pas toujours correctement reconnues par certains clients de messagerie (Outlook).

Dans mon cas, l'ajout d'un lien dans le corps du message aidé. Le formatage du texte comme gras avec des balises HTML fonctionne également. Difficile!

Testé sur iPod 1G 3.1.3.


0 commentaires

10
votes
-(IBAction)btnPressed:(id)sender {
    NSArray *arrayPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
    NSString *docDir = [arrayPaths objectAtIndex:0];
    NSString *Path = [docDir stringByAppendingString:@"/CSVFile.csv"];
    NSData *csvData = [NSData dataWithContentsOfFile:Path]; 

    MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
    controller.mailComposeDelegate = self;

    [controller setSubject:@"For csv file..."];
    [controller setMessageBody:@"...csv file is hear.." isHTML:NO];
    [controller addAttachmentData:csvData mimeType:@"text/csv" fileName:@"CSVFile.csv"];
    [self presentModalViewController:controller animated:YES];
    [controller release];
}

0 commentaires

0
votes

Ce n'est peut-être pas le cas ici, mais une chose à surveiller est que: xxx

renvoie un objet NSData valide mais vide si la conversion sur le codage spécifié n'est pas possible. Mieux vaut utiliser la version complète: xxx

ou vérifier la longueur des données renvoyées. Il semble que les pièces jointes de données zéro sont coupées quelque part dans le processus de messagerie.


0 commentaires

2
votes

hi je place du code d'échantillon pour la création de fichier CSV et joignez-la avec le courrier, mais assurez-vous de devoir ajouter des messages à MessageI.framework et d'importer son en-tête associé "messageui / messagesi.h" "Messageui / mfmailcomposeviewController.h" et déligible "mfmailcomposevievieviewonControllerdelegate" ... J'espère que ce wl utile pour les autres xxx


0 commentaires

1
votes

Définissez le type MIME comme "Application / Octet-Stream" et cela devrait faire le tour pour éliminer les pièces jointes en ligne (j'ai toujours nommé l'extension de mon fichier I.E. PDF)


2 commentaires

Avec iOS 8, c'est la solution qui a fonctionné pour moi.


N'a pas aidé avec JPEG Pièces jointes sur iOS 8.