2010-09-21 5 views
0

J'essaie d'envoyer du courrier avec une pièce jointe de grande taille de 2 Mo. Mais l'envoi de courrier échoue (envoi à Google Apps) comme:.Exception de Google Apps pour les pièces jointes volumineuses

MailItemEntry[] entries = new MailItemEntry[1]; 
String EmlPath = "C:\\testemail.eml";           
String msg = File.ReadAllText(EmlPath); 
entries[0] = new MailItemEntry(); 
entries[0].Rfc822Msg = new Rfc822MsgElement(msg); 

Exception Je reçois lors de la migration de cette EML aux applications Google est: {"The request was aborted: The request was canceled."}

Répondre

1

Selon le Java Mail API Page la limite de taille pour un message e-mail (y compris les pièces jointes) est de 1 Mo.


Edit: les mises à jour ...

D'après ce que je pouvais voir, 1 Mo est leur limite dure et rapide ... Peu importe si vous les payez ou non. (Cependant, je peux me tromper, vous voudrez peut-être contacter le service client à ce sujet.) Cependant, vous pouvez essayer de trouver une API qui téléchargera des fichiers vers un service de téléchargement de fichiers gratuit (juste en un coup d'œil, j'ai trouvé ça api for uploading to sendspace, bien que je n'ai aucune idée de comment c'est bon). Ensuite, vous pouvez inclure le lien que l'API retournerait vraisemblablement. Cela dit, en y regardant de plus près, je commence à être confus. Vous avez étiqueté votre question Java, et c'est pour Google App Engine, qui utilise Java, mais vous utilisez File.ReadAllText qui, pour autant que je sache, n'est pas une fonction Java, mais apparaît définitivement dans la documentation C#. Une autre chose qui m'embarrasse, c'est que pour autant que je sache, vous n'êtes pas autorisé à accéder au système de fichiers avec Google App Engine, mais vous accédez non seulement au système de fichiers, mais aussi à un chemin absolu codé en dur. À tout le moins, je pense que le fichier que vous utilisez doit être dans le fichier de guerre, mais je n'ai pas personnellement utilisé GAE, donc je ne sais pas.

En outre, la syntaxe utilisée ne semble pas être la même syntaxe que je vois sur le Google App Engine Java Mail Tutorial.

Vous voudrez peut-être examiner cela.

Edit:

Ou bien meilleure solution (comme le suggère Jason Hôtel ci-dessous) à l'API de transfert de fichier externe, serait d'utiliser le blobstore et e-mail les liens à ce sujet. (Bien que cela pourrait avoir des problèmes avec les limites de quota en fonction du nombre de personnes que vous envoyez par courriel à.)

+0

Salut: Lisez le lien ci-dessus fourni par vous il y a une limite de 1 Mo de pièce jointe pour les e-mails en utilisant Java Mail API (https://code.google.com/appengine/docs/java/mail/overview.html#Quotas_and_Limits) Est-il possible de télécharger des e-mails avec des pièces jointes de grande taille en utilisant une autre API? –

+0

@Haseena Vous pouvez utiliser le blobstore App Engine pour stocker des fichiers d'une taille maximale de 2 Go. Ensuite, vous pouvez simplement envoyer un lien vers ce fichier par courrier électronique et demander au destinataire de le télécharger à partir de là. http://code.google.com/appengine/docs/python/blobstore/overview.html –

0

Désolé pour la confusion comme je suis nouveau à stackoverflow.

Je développe une application en C# .net où je suis en train de lire le fichier EML du chemin de l'application, puis en ajoutant le code ci-dessous

chaîne msg = File.ReadAllText (EmlPath); entries [0] = new MailItemEntry(); entries [0] .Rfc822Msg = new Rfc822MsgElement (msg);

Je vais certainement essayer la solution proposée par Jason et vous mettre à jour tous.

Merci à tous.

Questions connexes