2010-12-03 40 views
1

Je suis en train d'écrire un programme dans lequel mon superviseur veut que j'utilise son système de messagerie interne.C# Envoyer un e-mail à l'aide de POST et MIME

Essentiellement, le code que j'ai à ce jour est:

WebRequest request = WebRequest.Create(uri); 
request.Method = "POST"; 
request.ContentType = "application/x-www-form-urlencoded"; 

Stream os = null; 
byte[] Bytes = Encoding.ASCII.GetBytes("From: [email protected]\n" + "To: [email protected]\n" + "Subject: test\n" + "jkjlkjkj\n"); 
try 
{ 
    request.ContentLength = Bytes.Length; 
    os = request.GetRequestStream(); 
    os.Write(Bytes, 0, Bytes.Length); 
} 
catch (Exception e) 
{ 
    Console.WriteLine("error"); 
} 

Cela fonctionne bien et envoyer l'e-mail comme prévu. Mais comment puis-je envoyer des pièces jointes en utilisant cette méthode? Ils sont susceptibles d'ouvrir de petits fichiers minidump.

Merci.

+3

Cela dépendra beaucoup de la façon dont le système s'attend à ce que les pièces jointes soient formatées. 'WebRequest' est juste utilisé pour envoyer une requête HTTP. –

+0

Vous avez un script d'email personnalisé dans la variable uri. Ce n'est pas une manière standard d'envoyer un email. Vous devez donc regarder le script situé dans la variable uri, et voir s'il supporte même l'envoi de pièces jointes. – Artemiy

Répondre

1

Si vous utilisez un protocole d'e-mail standard, recherchez simplement les spécifications relatives à l'envoi d'une pièce jointe dans un e-mail. Je viens de découvrir cet exemple en PHP qui crée un message avec une pièce jointe, peut-être cela fonctionnera de la même manière dans .NET (changer les appels):

Essayez d'ajouter ces lignes sur le tableau Octets:

Content- Type: application/zip; name = "attachment.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment attachmentContents

où attachmentContents est une décharge codée base64 du fichier (évidemment, changer les noms et les types MIME selon ce que vous envoyez.

Je pris ce code d'ici http://www.webcheatsheet.com/PHP/send_email_text_html_attachment.php#attachment

Hope it helps

Hope it helps.