Firma des Email-Empfängers per VB-Script

  • Hallo zusammen,


    ich habe den untenstehenden Code der mir bei einer versendeten Mail, die Mail im Ausgang als eml speichert und im Dateinamen den Betreff plus Firma des Absenders angibt. Jedoch möchte ich nicht die Absender-Firma sondern die Empfänger-Firma der Mail im Betreff haben. Kann mir da einer helfen?


    Gruß
    Dreamar



    Sub Initialize(oInfoCenter, key)
    Set oBar = oInfoCenter.GetCommandBar("MessageEditor/Standard")
    oBar.Insert 4, "Ablage", key, "ablage.ico", "OnAblageButton", true
    End Sub
    sub OnAblageButton(oInfoCenter, oReader)
    if oReader.Item.Type <> DvEMailItem then
    oInfoCenter.MsgBox "Dieser Eintrag ist keine eMail", "OkExclamation"
    exit sub
    end if


    Set oFrom = oReader.Item.From
    Set oAddress = oInfoCenter.ContactManager.Resolve(oFrom.EMail)
    if not IsNull(oAddress) then
    on error resume next
    end if


    Set oItem = oReader.Item.ChangeType(DvUnknownItem)
    Set oConverter = oInfoCenter.Account.CreateExporter
    Set oCollection = oConverter.GetCollection
    oCollection.Add oItem
    oConverter.Convert FormatEML, "F:\AAA Projekte\" & "20" & Right(oItem.subject,2) & "\" & Right(oItem.subject,6) & "\" & oItem.subject & " - " & oAddress.AddressItem.Company & ".eml"
    end sub

  • Hallo,


    was genau willst Du denn erreichen? EML Dateien im Ausgang speichern...komische Sache, die Mails sind doch da...


    Bei einer versendeten Mail steht der Empfänger der Mail doch im TO Feld, Du greifst aber auf das From Feld tu...


    Gruß Jens

    Es wäre schön, Deinen Vornamen zu kennen. Bitte beachte unsere Forenregeln und die Netiquette.

    ----------

    Bitte teilen/weitersagen: STARFACE Module Databasewww.sfm-db.com


    STARFACE Excellence PartnerSTARFACE Module CreatorTobit.Software Authorized Partner (Mailserver/Unified Messaging)work4all! Solution Partner (CRM/ERP)Securepoint Professional Partner (Firewall/UTM)


    1 Qubit - J.Suingwww.1qubit.deSoftware - Service - Coding

  • Hallo Teardrop,


    ich habe mir schon gedacht das es im To-Feld steht, allerdings hatte ich bisher noch keine Berührungen mit scripting im David. Daher weiß ich nicht wie ich den From-Code in To-Code umschreibe. Zur Erklärung was ich vorhabe. Bestellungen die ich verschicke sollen in einem Betreffabhängigen Projektordner (was ja alles funktioniert) abgespeichert werden. Gleichzeitig soll der Dateiname der .eml neben dem Betreff der Mail auch den Firmennamen des Lieferanten (Empfängers) beinhalten, um diese Bestellung später zuordnen zu können.
    Wäre nett wenn du mir bei dem To-Feld helfen könntest.
    Danke
    Gruß Dreamar

  • Hallo,


    aus dem Kopf kann ich Dir das auch nicht sagen, musst Du Dir mal die API Doku anschauen.
    Spontan würde ich aber sagen, dass das entsprechende Feld "TO" heißt.


    Also statt


    Set oFrom = oReader.Item.From


    einfach


    Set oTo = oReader.Item.To



    Gruß Jens

    Es wäre schön, Deinen Vornamen zu kennen. Bitte beachte unsere Forenregeln und die Netiquette.

    ----------

    Bitte teilen/weitersagen: STARFACE Module Databasewww.sfm-db.com


    STARFACE Excellence PartnerSTARFACE Module CreatorTobit.Software Authorized Partner (Mailserver/Unified Messaging)work4all! Solution Partner (CRM/ERP)Securepoint Professional Partner (Firewall/UTM)


    1 Qubit - J.Suingwww.1qubit.deSoftware - Service - Coding

  • Hi zusammen,


    das sollte aber eigentlich dann gehen, habe mal was Ähnliches gebaucht, da habe ich auc mit dem oReader.Item.To gearbeitet...
    Klingt jetzt vllt blöd, aber hast du ALLE Vorkommen von "oFrom" im Code mit "oTo" ersetzt? Das wäre das einzige, was mir momentan dazu einfallen würde.


    Gruß, Tobi

  • Vielen Dank für die Rückmeldungen.Ich habe den Code nun folgender Maßen, jedoch legt er keine eml Datei an.



    Sub Initialize(oInfoCenter, key)
    Set oBar = oInfoCenter.GetCommandBar("MessageEditor/Standard")
    oBar.Insert 4, "Ablage", key, "ablage.ico", "OnAblageButton", true
    End Sub
    sub OnAblageButton(oInfoCenter, oReader)
    if oReader.Item.Type <> DvEMailItem then
    oInfoCenter.MsgBox "Dieser Eintrag ist keine eMail", "OkExclamation"
    exit sub
    end if


    Set oTo = oReader.Item.To
    Set oAddress = oInfoCenter.ContactManager.Resolve(oTo.EMail)
    if not IsNull(oAddress) then
    on error resume next
    end if


    Set oItem = oReader.Item.ChangeType(DvUnknownItem)
    Set oConverter = oInfoCenter.Account.CreateExporter
    Set oCollection = oConverter.GetCollection
    oCollection.Add oItem
    oConverter.Convert FormatEML, "F:\AAA Projekte\" & "20" & Right(oItem.subject,2) & "\" & Right(oItem.subject,6) & "\" & oItem.subject & " - " & oAddress.AddressItem.Company & ".eml"
    end sub

  • Hallo,


    ich habe derzei leider nicht die Möglichkeit den Code zu testen, was mich irritiert ist Folgendes:


    Set oAddress = oInfoCenter.ContactManager.Resolve(oTo.EMail)


    if not IsNull(oAddress) then
    on error resume next


    end if


    Wenn mich nicht alles täuscht, wird bei IsNull(oAddress) kein on error resume next gesetzt und dann sollte der Code in


    oConverter.Convert FormatEML, "F:\AAA Projekte\" & "20" &
    Right(oItem.subject,2) & "\" & Right(oItem.subject,6) & "\"
    & oItem.subject & " - " & oAddress.AddressItem.Company &
    ".eml"


    beim Zugriffsversuch auf oAddress in die Hose gehen, oder!?


    Wie gesagt, kann es im Moment nicht selber testen, wenn ich dazu kam gebe ich nochmal Rückmeldung.


    Gruß, Tobi

  • Hi Dreamer,


    ich hab mir das nochmal kurz angeguckt.
    Um den Fehler finden zu können solltest du erstmal das "on error resume next" rausnehmen und nach jedem Schritt eine MessageBox ausgeben, damit du weißt, bis wohin der Code läuft. Bei mir sieht das so aus:



    bei meinen Tests ist die letzte MessageBox "nach oCollection.add"


    Das Skript kann meiner Meinung nach nicht auf die Eigenschaften des oAddress.AddressItem zugreifen.


    Ich steck leider noch zu tief in meinen eigenen Skripten, sodass ich mehr nicht machen kann. Aber auf die Art und Weise kam ich oft weiter.
    Was ich mittlerweile feststellen "durfte":
    Oftmals hilft es den gleichen Code (wenn man sicher ist, dass er eigentlich gehen SOLLTE), mal in JavaScript zu probieren.
    Manches geht in VBS nicht was in JS klappt (und evtl umgekehrt)
    Bei mir war es der Zugriff auf die Eigenschaft "FullPath" eines Archive-Objektes


    Hoffe, dass dir das iwie weiterhilft,
    Gruß, Tobi


    PS: ich habe auch das Gefühl, dass es nur klappt, wenn der Zielordner existiert (nicht 100% sicher)

  • Hallo,


    ich möchte gerne nochmal mein Thema vom ersten Post aufgreifen. Ich bin leider noch nicht am Ziel, da die Änderungen wie in den gefolgten Posts keinen Erfolg brachten. Falls jemand mir bei dem o.g. Problem eine Hilfestellung geben könnte wäre ich sehr dankbar.
    Gruß
    Dreamar

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!