Outlook-Anlagen.Add() ist nicht angezeigt im mail-body
Ich bin erstellen einer neuen E-mail-Element in C# VS-2008 outlook 2007 und anfügen einer Datei. Das erste Problem ist, dass ich nicht sehen, eine Anlage, die Fläche unter der Betreff-Zeile zeigt die Anlage. Wenn ich die e-mail senden seine Eigenschaften zeigen, dass es eine Anlage ist und die e-mail-Größe gewachsen, indem Sie die Anlage-Betrag. Ich kann einfach nicht sehen oder extrahieren Sie die Anlage.
Hier ist der code, den ich verwende:
Outlook.MailItem mailItem = (Outlook.MailItem)this.Application.CreateItem(Outlook.OlItemType.olMailItem);
attachments.Add(ReleaseForm.ZipFile, Outlook.OlAttachmentType.olByValue, 0, "DisplayName");
Ich gehe davon aus, dass der Teil "DisplayName", die zeigen würde, wie der name der Anlage und ich sollte mit den Dateinamen.
Ich nicht nennen .Send() auf die e-mail programmgesteuert, ich nenne mailItem.Display(true) zeigen Sie die e-mail zu dem Benutzer für die Endbearbeitung. An dieser Stelle kann ich Blick in die Eigenschaften und sehe, dass es einen Anhang gibt.
Wenn ich drücken Sie send (senden für mich) sehe ich die gleiche Sache, die Anlage scheint es aber nicht zugänglich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich das Problem entdeckt. Ich den code ändern, verwenden Sie die folgende:
Scheint es, dass die Position und die DisplayName-Parameter Steuern Sie, was geschieht mit einem olByValue. Verwendung Von Typ.Fehlt und jetzt sehe ich die Anhänge korrekt in der e-mail.
By the way, wenn Sie legen Sie die Position auf 0 Ihre Aufhängung verborgen:
Anhang.Position-Eigenschaft
Habe ich excactly problem wie deiner, aber auch ich ändere den code wie deiner, aber es scheint nicht zu funktionieren noch. wieder, so scheint es bereits in die mailitems aber nicht display auf die E-mail-Elemente angezeigt.
OK, Sie haben zu stellen Sie sicher, dass das mailItem-Körper ist nicht null diplay die attechament
Bisschen ein Alter post, aber wie einige andere bereits erwähnt, mithilfe
hast mir nicht helfen, entweder, so dass ich dachte, ich würde teilen, einen alternativen Ansatz. Die Lösung für dieses problem endete als zu rufen
mailItem.Save();
rechts, bevor Sie anrufenmailItem.Display(true);
. Was wird dies tun, ist, aktualisieren Sie die outlook-Formular zu zeigen, dass Ihre Anlagen. Es lohnt sich auch darauf hingewiesen, dass es speichert die Nachricht in Entwürfe. Kein Problem, wenn Sie erwarten, dass der Benutzer die E-Mail senden, aber wenn Sie kündigen, Sie werden Links in Ihrem Ordner "Entwürfe".