2010-12-03 8 views
1

Ich schreibe ein Programm, bei dem mein Vorgesetzter möchte, dass ich ihr internes Sandbox-E-Mail-System nutze.C# Senden von E-Mail mit POST und Mime

Wesentlichen der Code, den ich bisher habe, ist:

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"); 
} 

Dies funktioniert gut, und die E-Mail senden, wie erwartet. Aber wie kann ich Anhänge mit dieser Methode senden? Sie öffnen sich wahrscheinlich als kleine Minidump-Dateien.

Danke.

+3

Dies hängt sehr davon ab, wie das System die Formatierung der Anhänge erwartet. 'WebRequest' wird nur zum Senden einer HTTP-Anfrage verwendet. –

+0

Sie haben benutzerdefinierte E-Mail-Skript in der URI-Variable. Dies ist keine Standardmethode zum Senden von E-Mails. Sie müssen sich also das Skript anschauen, das sich in der uri-Variablen befindet, und prüfen, ob es sogar das Senden von Anhängen unterstützt. – Artemiy

Antwort

1

Wenn Sie ein Standard-E-Mail-Protokoll verwenden, suchen Sie einfach nach den Spezifikationen, wie ein Anhang in einer E-Mail gesendet wird. Ich habe gerade dieses Beispiel in PHP, die eine Nachricht mit einer Anlage erstellt, vielleicht wird es die gleiche Art und Weise in .NET (durch Ändern der Anrufe) arbeitet:

versuchen, diese Linien auf dem Bytes Array hinzufügen:

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

wo attachmentContents ist ein Base64 codiert Dump der Datei (offensichtlich, ändern Sie die Namen und MIME-Typen nach was Sie senden.

ich hier diesen Code nahm von http://www.webcheatsheet.com/PHP/send_email_text_html_attachment.php#attachment

Hoffe, dass es

Hoffnung hilft es hilft.