Il y a un décalage entre ce que vous demandez et ce que vous voulez. Plus précisément, RFC 822 ne reconnaît pas les pièces jointes. En ce qui concerne RFC 822, un email est juste un ensemble d'en-têtes suivi par le corps du message. Il y a plusieurs autres RFC que vous voudrez regarder pour voir exactement comment les pièces jointes sont stockées dans le courrier électronique (989, 1421, 2822, et probablement d'autres).
Mais le résultat est que vous ne devriez pas avoir à vous en préoccuper. Prenez simplement tout le message brut et placez-le dans une section CDATA dans l'élément apps:rfc822Msg
. Un échantillon:
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:batch="http://schemas.google.com/gdata/batch"
xmlns:gd="http://schemas.google.com/g/2005">
<entry>
<category term="http://schemas.google.com/apps/2006#mailItem" scheme="http://schemas.google.com/g/2005#kind" />
<apps:rfc822Msg xmlns:apps="http://schemas.google.com/apps/2006">
<![CDATA[MIME-Version: 1.0
Received: by 10.143.9.6 with HTTP; Fri, 26 Feb 2010 08:11:48 -0800 (PST)
Date: Fri, 26 Feb 2010 10:11:48 -0600
Delivered-To: [email protected]
Message-ID: <[email protected]>
Subject: Example
From: Joe Schmo <[email protected]>
To: [email protected]
Content-Type: multipart/mixed; boundary=000e0cd2dd1216bdff04808328cb
--000e0cd2dd1216bdff04808328cb
Content-Type: multipart/alternative; boundary=000e0cd2dd1216bdf404808328c9
--000e0cd2dd1216bdf404808328c9
Content-Type: text/plain; charset=ISO-8859-1
This is the message body text.
--000e0cd2dd1216bdf404808328c9
Content-Type: text/html; charset=ISO-8859-1
This is the message body text.
--000e0cd2dd1216bdf404808328c9--
--000e0cd2dd1216bdff04808328cb
Content-Type: text/plain; charset=US-ASCII; name="test.txt"
Content-Disposition: attachment; filename="test.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g656ktq20
VGhpcyBpcyBhIHRlc3Q=
--000e0cd2dd1216bdff04808328cb--]]>
</apps:rfc822Msg>
<apps:mailItemProperty value="IS_STARRED"
xmlns:apps="http://schemas.google.com/apps/2006" />
<apps:mailItemProperty value="IS_UNREAD"
xmlns:apps="http://schemas.google.com/apps/2006" />
<apps:label labelName="Event Invitations"
xmlns:apps="http://schemas.google.com/apps/2006" />
<apps:label labelName="Friends"
xmlns:apps="http://schemas.google.com/apps/2006" />
<batch:id>0</batch:id>
</entry>
</feed>
Qu'est-ce que le moteur d'application a à voir avec cela? Le moteur d'application ne prend pas en charge C# autant que je sache. –
D'accord - il existe une différence entre Google App Engine et l'API Google. J'ai repensé la question, car il s'agit de l'API (dont il existe une bibliothèque cliente C#, bien qu'elle ne couvre nulle part l'intégralité de l'API Google). – Dathan
J'ai fait des changements. – Preeti