Halo everybody,
Ich have a question about an exception.
I want to write an C# program thath send mails with attachments and on the client site it should download this.
Sender
System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();
string mailAdress = "update@xxxx.de";
mailMessage.From= new MailAddress(mailAdress.Trim());
mailMessage.To.Add(GetCostumer());
mailMessage.Subject = textBox1.Text;
foreach (var fileInfo in files)
{
Attachment myAttech = new Attachment(fileInfo.FullName);
mailMessage.Attachments.Add(myAttech);
}
SmtpClient client = new SmtpClient("smtp.1und1.de", Convert.ToInt32("25"));
client.Credentials = new NetworkCredential(mailAdress.Trim(), "PWXXX");
client.Send(mailMessage);
CommitButton.BackColor = Color.Green;
So far it's great. The sender send the mail with the attachments.
But when the mail downloader want to download the mail with attachments I get an excpetion:
The given string does not contains for the E-Mail-Adress required format
Code for downloading mail.
I use for downloading the S22.dll
private string GetVersions()
{
string versions = String.Empty;
using (ImapClient client = new ImapClient("imap.1und1.de", Convert.ToInt32("993"), "XXX@XXX.de", "PWXXX", AuthMethod.Auto, true))
{
Trace.WriteLine("Connected to Server");
var uids = client.Search(SearchCondition.All());
foreach (var uid in uids)
{
Trace.WriteLine(uid);
}
var messages = client.GetMessages(uids); <----EXCEPTION
foreach (var mail in messages)
{
var header = mail.Headers["Subject"];
if (header.Contains("Version"))
{
_uid = mail.Headers["Message-ID"];
Trace.WriteLine(header.ToString());
versions = header.Trim().Split('n').Last().Trim();
}
}
return
}
Surly my code is not CleanCode. But i just test this mechanism.
I hope someone can help me :)
matias
Auf Deutsch
Hallo zusammen,
nun sitze ich hier seit Stunden und weiß nicht weiter.
Mein Ziel ist es Emails mit Anhang zu versenden und wieder abzurufen.
Versenden klappt soweit. Hier ein ausschnitt aus dem Code:
System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();
string mailAdress = "update@xxxx.de";
mailMessage.From= new MailAddress(mailAdress.Trim());
mailMessage.To.Add(GetCostumer());
mailMessage.Subject = textBox1.Text;
foreach (var fileInfo in files)
{
Attachment myAttech = new Attachment(fileInfo.FullName);
mailMessage.Attachments.Add(myAttech);
}
SmtpClient client = new SmtpClient("smtp.1und1.de", Convert.ToInt32("25"));
client.Credentials = new NetworkCredential(mailAdress.Trim(), "PWXXX");
client.Send(mailMessage);
CommitButton.BackColor = Color.Green;
Email Wird auch versendet mit Anhang. Kann sie über den 1und1 Mailbrowser sehen. Soweit Super! oder auch nicht.
Nun beim Abrufen der Email erhalte ich eine Exception:
"Die angegebene Zeichenfolge besitzt nicht das für eine E-Mail-Adresse erforderliche Format."
Code für das Abrufen der Mails:
private string GetVersions()
{
string versions = String.Empty;
using (ImapClient client = new ImapClient("imap.1und1.de", Convert.ToInt32("993"), "XXX@XXX.de", "PWXXX", AuthMethod.Auto, true))
{
Trace.WriteLine("Connected to Server");
var uids = client.Search(SearchCondition.All());
foreach (var uid in uids)
{
Trace.WriteLine(uid);
}
var messages = client.GetMessages(uids); <----EXCEPTION
foreach (var mail in messages)
{
var header = mail.Headers["Subject"];
if (header.Contains("Version"))
{
_uid = mail.Headers["Message-ID"];
Trace.WriteLine(header.ToString());
versions = header.Trim().Split('n').Last().Trim();
}
}
return
}
*Natürlich ist der Code noch nicht Clean. Ich teste gerade mit dem Code ein wenig.
Ich hoffe jemand hat eine Idee und kann mir weiterhelfen.
Schönen Abend euch
Gruß matias