2009-10-19 8 views
1

Nous aimerions envoyer un seul e-mail contenant des «contenus multiples». Scénario: nous aimerions qu'un contenu soit affiché si l'e-mail est lu à l'aide d'un Blackberry et qu'un autre contenu s'affiche si l'e-mail est lu sur un client de messagerie de bureau. (Blackberry contenu serait juste du texte, d'autres appareils devraient lire le contenu HTML à la place)Mail for Blackberry's - plusieurs pièces jointes de contenu

Je vais faire des recherches, mais je me demandais si quelqu'un pouvait me dire si cela ne semble pas possible.

Muddled illustration

Courrier
contenu 1 = text/appareil simple = blackberry
contenu 2 = text/html dispositif = tout le reste

Nous deevloping en utilisant Java/Spring, pas C'est pertinent pour la question générale ici.

Merci beaucoup.

Répondre

0

Vous devez inclure la balise multipart/alternative dans l'e-mail. Dans ma version du logiciel Blackberry (cela va varier), il tente d'ouvrir l'e-mail dans la version html avec une option de menu pour obtenir la version en texte brut.

C'est une bonne pratique en général avec le courrier électronique HTML complexe et utile pour de nombreux clients de messagerie, mais vous n'obtenez pas le type de contrôle de grain fin que vous recherchez.

+0

Merci - Je suppose que je vais ajouter la pièce jointe de texte et de voir quelles options le Blackberry donne à l'utilisateur - Je me demande s'il serait possible de mettre un lien Text Version en haut de l'e-mail. Le XXX aurait besoin d'ouvrir la pièce jointe de texte sur le lecteur de courrier électronique plutôt que d'aller à un serveur si. – ashbyp

+0

J'ai essayé un certain nombre de choses: i) J'ai ajouté un message mutltipart, texte et versions html avec le paramètre alternatif multipart. Le résultat a été que la mûre a affiché la version html après avoir retiré les balises html. Échouer. ii) J'ai ajouté une pièce jointe en ligne de la forme Blackberry friendly version. BlackBerry ne comprend pas le cid: tag. Échouer. Donc, je suppose que je vais devoir recourir à deux courriels. – ashbyp

+0

@ashbyp, Bien que la Blackberry peut afficher l'e-mail mal, il devrait avoir une option de menu pour obtenir le texte brut. Cela peut ou peut ne pas fonctionner pour votre cas d'utilisation. – Yishai

0

Vous pouvez le faire en utilisant le sous-type multipart/alternative dans le message multipart.

Vous pouvez pas être en mesure de dicter quelle partie est ouverte par quel client de messagerie, cependant - c'est au client de décider.

En ce qui concerne la mise en œuvre, jetez un coup d'œil à MimeMultipart pour vous aider à démarrer. L'intégration de l'email de printemps ne supporte pas directement les messages multipart/alternative autant que je sache.

+0

Ok merci, nous voulons réellement forcer BlackBerry pour ouvrir la version texte (demande de l'utilisateur final, j'ai peur). hmmm. – ashbyp

1

vous pouvez utiliser le code suivant d'une façon ou d'autres

File f = new File("e:\\mailFolder"); 
File[] attachments = f.listFiles(); 


Multipart multipart = new MimeMultipart(); 
multipart.addBodyPart(messageBodyPart); 

// Part two is attachment 
for(int i = 0; i < attachments.length; i++) { 
messageBodyPart = new MimeBodyPart(); 
FileDataSource fileDataSource =new FileDataSource(attachments[i]); 
messageBodyPart.setDataHandler(new DataHandler(fileDataSource)); 
messageBodyPart.setFileName(attachments[i].getName()); 
multipart.addBodyPart(messageBodyPart); 
} 
Questions connexes