Auch wenns was spät ist ...
Es gibt im Namespace System.Web die Klasse HttpUtility, die eine statisch Methode namens UrlPathEncode hat. Damit kannst Du Zeichenketten für Parameter einer URL parsen. Das Ganze sieht etwa so aus:
C#
using System;
using System.Collections;
using System.Diagnostics;
using System.Web;
namespace MarcelJKloubert.MailClientÜbergabe
{
internal sealed class Program
{
private static void Main(string[] args)
{
string betreff = HttpUtility.UrlPathEncode("Der Betreff");
string nachricht = HttpUtility.UrlPathEncode(@"Zeile 1
Zeile 3
Zeile 4
Zeile 7
");
ArrayList emails = new ArrayList();
emails.Add("irgendjemand@email.com");
emails.Add("nochjemand@email.com");
Console.WriteLine("Geparste Zeichenketten:");
Console.WriteLine();
Console.WriteLine("betreff: {0}", betreff);
Console.WriteLine();
Console.WriteLine("nachricht: {0}", nachricht);
Process p = new Process();
p.StartInfo.FileName = string.Format(
"mailto:{0}?subject={1}&body={2}"
, string.Join("; ", (string[])emails.ToArray(typeof(string)))
, betreff
, nachricht
);
p.Start();
Console.WriteLine();
Console.WriteLine("ENTER drücken, um fortzufahren...");
Console.ReadLine();
}
}
}
Alles anzeigen
Hinweis: Du MUSST das Assembly System.Web.dll einbinden, da die HttpUtility-Klasse kein fester Bestandteil der Standard-Class-Library ist.
Laut http://www.go-mono.com/docs/ scheint es auch in Mono integriert zu sein, also wäre diese Lösung schon plattformunabhängig!