Pièces jointes au format PDF sont en train de changer inutilisable fichiers DAT
J'ai un système qui est dans la maison de la solution de tenter d'envoyer des factures aux clients. Ce système fonctionne très bien sauf pour un client obtient .dat fichiers au lieu de les bien généré .les fichiers pdf que tout le monde obtient.
J'ai étudié le problème et beaucoup de choses du point de problèmes avec Outlook envoi de courriels(utilisez pas outlook) et le partage des fichiers, car il est grand(il ne l'est pas, nous pouvons à la main envoyer l'e-mail fine).
Les fichiers sont renommés pour quelque chose comme "=_utf-8_B_Q29uc29saWRhdGVkIEludm9pY2Vzigzv.dat" au lieu de "1180426.pdf".
Après les en-têtes des deux fichiers est juste des lignes de caractères qui ne signifient rien pour moi.
les en-têtes de de la .fichiers dat:
fichier1
=?utf-8?B?Y2lCQmJIQm9ZU0JKYm5OMWJHRjBhVzl1Pz0NCiA9P3V0Zi04P0I/SUNZ?=\
\
=?utf-8?B?Z1YyRjBaWEp3Y205dlptbHVaeUF0SUVGc2NHaGhJRWx1YzNWc1lYUnBi?=\
\
=?utf-8?B?MjRnSmlCWFlYUmw/PQ0KID0/dXRmLTg/Qj9jbkJ5YjI5bWFXNW5JT0tB?=\
\
=?utf-8?B?a3lCVmJtbDJaWEp6WVd3Z1EybDBlU3dnS0RJd01USXRNRFF0TVRNcD89?=\
\
=?utf-8?B?DQogPT91dGYtOD9CP0xuQmtaZz09Pz0=?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment
fichier2
=?utf-8?B?YUdFZ1NXNXpkV3hoZEdsdmJpQW1JRmRoPz0NCiA9P3V0Zi04P0I/ZEdW?=\
\
=?utf-8?B?eWNISnZiMlpwYm1jZ0xTQkJiSEJvWVNCSmJuTjFiR0YwYVc5dUlDWWdW?=\
\
=?utf-8?B?MkYwWlhKd2NtOXY/PQ0KID0/dXRmLTg/Qj9abWx1WnlEaWdKTWdWVzVw?=\
\
=?utf-8?B?ZG1WeWMyRnNJRU5wZEhrc0lDZ3lNREV5TFRBMExURXpLUzV3WkdZPT89?=\
\
=?utf-8?B??="
Content-Transfer-Encoding: base64
Content-Disposition: attachment
Quelqu'un a une idée sur le pourquoi de ce qui se passe?
- avez-vous essayer de changer la "facture" pour une "remise"? peut-être que ça va résoudre le problème 🙂
- on dirait que votre fichier pdf crypté en base64. depuis, vous pouvez envoyer la facture fine manuellement, je suppose que votre serveur de messagerie est à blâmer. avez-vous essayez d'utiliser le système pour envoyer le même fichier pdf à deux clients? si l'on ne parvient toujours pas, je vais soupçonne que c'est le client du serveur de courrier (réception)question.
- tout d'abord, quand vous dites "ce n'est pas le cas, nous pouvons à la main envoyer l'e-mail à l'amende", avez-vous envoyées manuellement le fichier pour le MÊME client ne disposant pas de problèmes? Si oui, alors lisez pas plus loin. Je vais essayer de trouver une autre solution. Si pas, il peut être un problème chez un client final(son serveur de messagerie n'acceptent pas les pièces jointes de grande taille)? pouvez-vous demander au client de vérifier auprès de son fournisseur de service de messagerie?
- Oui, nous pouvons envoyer exactement le même e-mail au client et il fonctionne parfaitement. Les pièces jointes sont à moins de 200ko donc ce n'est pas les pièces jointes volumineuses.
- Il y a un drôle de caractère Unicode être imprimées au lieu d'un tiret et d'ici, dans le nom de fichier: "... l'Imperméabilisation – Universal City, ...". Il se pourrait que quelqu'un serveur de mail est sensible aux caractères non-ASCII et est l'encodage en base64 comme un résultat. Qu'advient-il si vous modifiez votre système de messagerie pour utiliser un nom différent? Pouvez-vous trouver que dans le système et entrez à nouveau le trait d'union?
- Suivi: le "bizarre caractère Unicode" est un tiret cadratin (U+2013).
- Vous dites que vous avez un "système" que l'emailing ces Pdf. Ce qu'il l'aide à les envoyer? Ce que la technologie est votre serveur de messagerie?
- avez-vous essayé de changer la .dat fichier .pdf - qui sait?
- Êtes-vous à l'aide de Printemps et Maven2?
- L'étrange Unicode est le problème. J'aimerais vous donner un crédit pour votre réponse mais je ne peux pas donner de commentaires.
- ce n'est pas vraiment appartiennent DONC. Il n'a évidemment rien à voir avec la programmation de sorte qu'il devrait être sur le super-utilisateur, probablement.
Vous devez vous connecter pour publier un commentaire.
De commentaires:
Il y a un drôle de caractère Unicode être imprimées au lieu d'un tiret et d'ici, dans le nom de fichier: "... l'Imperméabilisation – Universal City, ...". Il se pourrait que quelqu'un serveur de mail est sensible aux caractères non-ASCII et est l'encodage en base64 comme un résultat. Changer de à un régulière ASCII trait d'union et il doit être fine.
Comment je l'ai trouvé:
Tout d'abord, voici la en ligne en base64 decoder j'ai utilisé: http://www.opinionatedgeek.com/dotnet/tools/base64decode/
Deuxièmement, j'ai commencé par la concaténation de tous les base64 les chaînes à partir de l'en-tête. Il est divisé en plusieurs segments: le premier en-tête, il y a 5 segments. Les segments sont de longues pièces entre les points d'interrogation. En les mettant tous ensemble, vous obtenez:
De mettre cela dans le décodeur donne:
Un autre ensemble de base64 segments. Le premier segment dirait qu'il est coupé, donc je suppose que ce qui s'est passé dans le nom de fichier est en fait partie. Si j'ajoute à cela et obtenir:
Mettre ce dans le décodeur doit faire cracher un .bin, en raison du caractère non-ASCII. Le fichier bin contient le nom complet du fichier PDF.
D'ouvrir le fichier bin dans un éditeur hexadécimal:
Le tiret cadratin colle dehors comme un pouce endolori.
Je pense que @Jeff E a vu juste: il y a un caractère non-ASCII dans le nom de fichier, et qui est à l'origine des problèmes sur une extrémité ou à l'autre. Lorsque vous êtes en envoyant le fichier manuellement, ma conjecture est que l'em-tiret est remplacé avec un trait d'union ou un autre caractère (par exemple,_) par votre client de messagerie. Si vous modifiez le tableau de bord en "Imperméabilisation – Universal City" à la une "-" je pense que cela devrait fonctionner.
(Si elle n', rep devrait aller à Jeff, comme il a repéré l'unicode.)
Vous mettez-vous un type MIME lorsque votre système d'attache des fichiers Pdf pour les messages e-mail? Si oui, qu'utilisez-vous? C'est un coup de feu dans l'obscurité, mais il est possible que votre système n'est pas correctement à l'aide de l'application/pdf et une combinaison des serveurs de messagerie et des clients est de se confondre et de répondre par un .dat.