Laden...

E-Mail über SMTP - nicht im Postausgang IMAP

Erstellt von schorge vor 9 Jahren Letzter Beitrag vor 9 Jahren 2.768 Views
S
schorge Themenstarter:in
129 Beiträge seit 2014
vor 9 Jahren
E-Mail über SMTP - nicht im Postausgang IMAP

Moin,

also ich versende eine E-Mail,
diese kommt auch an,
jedoch sehe ich diese nicht bei
Send Messages im IMAP Ordner.

Erfolgt das nicht automatisch?
Muss ich dann die:

  MailMessage mail = new MailMessage();

noch in den Postausgangsordner kopieren??

Oder mach ich was falsch?

 
          
SmtpClient client = new SmtpClient(AusServer, AusPort);
                client.EnableSsl = true;
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.UseDefaultCredentials = false;
                client.Credentials = new System.Net.NetworkCredential(EMail, Passwort);

                                
                MailMessage message = new MailMessage();                          
               
                message.From = new MailAddress(EMail); 
                message.To.Add(tbEmail.Text);
                message.Subject = tbBetreff.Text;
                message.Body = richerTextBoxBody.Text;
                message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

                for (int i = listBoxAttachments.Items.Count - 1; i >= 0; i--)
                {
                    Attachment attachFile = new Attachment(listBoxAttachments.Items[i].ToString());
                    message.Attachments.Add(attachFile);
                }

                client.Send(message);
                MessageBox.Show("E-Mail wurde verstendet!");             



H
523 Beiträge seit 2008
vor 9 Jahren

Du musst die E-Mail separat in dem IMAP-Ordner speichern. Dafür kannst Du z. B. S22.Imap (NuGet Package) verwenden: https://github.com/smiley22/S22.Imap/blob/master/Examples.md

S
schorge Themenstarter:in
129 Beiträge seit 2014
vor 9 Jahren

Vielen Dank!
Das S22 Nuget benutze ich zufälliger-Weise sogar schon 😁

Wäre ja schön gewesen wenn das autom. passiert, schade X(

S
schorge Themenstarter:in
129 Beiträge seit 2014
vor 9 Jahren

Also das ganze Funktioniert ja schon wie ich will,
jedoch habe ich einen Fehler:

Die E-Mail in Send Items hat zwar den Anhang,
aber diesen kann ich nicht öffnen.

Den Anhang im Posteingang kann ich jedoch öffnen.

Hat das damit zu tun dass ich über den S22 ImapServer sende
und der mit dem Anhang Probleme hat.


try
            {
                
                
                SmtpClient client = new SmtpClient(AusServer, AusPort);
                client.EnableSsl = true;
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.UseDefaultCredentials = false;
                client.Credentials = new System.Net.NetworkCredential(EMail, Passwort);

                                
                MailMessage message = new MailMessage();                          
               
                message.From = new MailAddress(EMail); 
                message.To.Add(tbEmail.Text);
                message.Subject = tbBetreff.Text;
                message.Body = richerTextBoxBody.Text;
                message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
                message.IsBodyHtml = true;

                for (int i = listBoxAttachments.Items.Count - 1; i >= 0; i--)
                {      
                    Attachment attachFile = new Attachment(listBoxAttachments.Items[i].ToString());                      
                    message.Attachments.Add(attachFile);
                }

                client.Send(message);
                MessageBox.Show("E-Mail wurde verstendet!");    
            
                using (ImapClient imapClient = new ImapClient(EinServer, EinPort, EMail, Passwort, AuthMethod.Login, SSL))
                {
                    uint uid = imapClient.StoreMessage(message, true, "Sent Items");
                }
              
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return;

H
523 Beiträge seit 2008
vor 9 Jahren

Hier hatte jemand dasselbe Problem. Evtl. hilft Dir das.

S
schorge Themenstarter:in
129 Beiträge seit 2014
vor 9 Jahren

Leider nein .... X(

H
523 Beiträge seit 2008
vor 9 Jahren

Was passiert denn genau? Ist der Anhang 0 Bytes groß? Hat der Anhang die richtige Größe? Warum kannst Du ihn nicht öffnen?

S
schorge Themenstarter:in
129 Beiträge seit 2014
vor 9 Jahren

Fehler:

Acrobat konnte "PDFFile.pdf" nicht öffnen, da entwerder der Dateityp nicht untersützt wird oder die Datei beschädigt ist.

Aber , ich habe die Lösung gefunden:



try
            {
                
                
                SmtpClient client = new SmtpClient(AusServer, AusPort);
                client.EnableSsl = true;
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.UseDefaultCredentials = false;
                client.Credentials = new System.Net.NetworkCredential(EMail, Passwort);

                
                client.Send(ErstelleMail(tbEmail.Text, EMail, tbBetreff.Text, richerTextBoxBody.Text.ToString(), listBoxAttachments));
                MessageBox.Show("E-Mail wurde erfolgreich versendet!");    
            
                using (ImapClient imapClient = new ImapClient(EinServer, EinPort, EMail, Passwort, AuthMethod.Login, SSL))
                {
                    MailMessage messages = ErstelleMail(tbEmail.Text, EMail, tbBetreff.Text, richerTextBoxBody.Text.ToString(), listBoxAttachments);
                    imapClient.StoreMessage(messages, false, "Sent Items");                    
                }
              
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return;



static MailMessage ErstelleMail(string To, string From, string Subject, string Body, ListBox AttachmentsListBox)
        {
            

            MailMessage message = new MailMessage();  

            message.From = new MailAddress(From);
            message.To.Add(To);
            message.Subject = Subject;
            message.Body = Body;
            message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
            message.IsBodyHtml = true;

            for (int i = AttachmentsListBox.Items.Count - 1; i >= 0; i--)
            {
                Attachment attachFile = new Attachment(AttachmentsListBox.Items[i].ToString());
                message.Attachments.Add(attachFile);
            }

            return message;
        }


Die MailMessage muss nochmals neu erstellt werden!
Danke!