Autor Thema: In E-Mail Rückantwort fehlt das FROM-Feld  (Gelesen 2777 mal)

Offline Legolas

  • Senior Mitglied
  • ****
  • Beiträge: 446
  • Geschlecht: Männlich
In E-Mail Rückantwort fehlt das FROM-Feld
« am: 20.04.08 - 21:54:59 »
Hallo Forum,

ich habe folgendes Problem und weis nicht weiter.

Ich habe einen Mail-In Agenten in einer Maildatenbank der eine Bestätigungsmail (Autoreply) versenden soll.
Das Problem was ich habe ist allerdings, dass in der Reply-Mail das "From" Feld nicht mehr vorhanden ist, ovbwohl es explizit befüllt wurde.

Hierdurch wird die Mail (z.B in GMX) als Mail ohne Absender angezeigt und somit als Spam behandelt.

Wird die Mail "normal" vom Client mit diesem Code versendet, funktioniet es.

Client Server: 7.x

Hat hier jemand eine Idee woran das liegen kann?

Gruß und danke im Voraus
Bernd


Hier der Code:

Sub Initialize

   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim dc As NotesDocumentCollection
   Dim IncomEmail As NotesDocument
   Dim ReplyEmail As NotesDocument
   Dim stRecipient As String
   
   stRecipient = "max.mueller@firma.de"
   Set db = s.CurrentDatabase
   Set dc = db.UnprocessedDocuments
   
   Set IncomEmail = dc.GetFirstDocument
   While Not IncomEmail Is Nothing
      
      Dim stFrom As String
      Dim stSendTo As String
      Dim Position As Long
      Dim Temp As String
      
      stFrom = IncomEmail.From(0)
      stSendTo = Ucase$( IncomEmail.SendTo(0) )
      
      ' Wenn Mailempfänger = "max.mueller@firma.de" dann Rückantwort erstellen und an den Absender zurücksenden
      If Instr(1, stSendTo, Ucase(stRecipient )) <> 0 Then
         'if an internet address format as name@internetdomain@notesdomain,
         'regardless if with my notesdomain
         If Instr(1, stFrom, "@") <> 0 Then
            Position = Instr(1, stFrom, "<")
            Temp = Right(stFrom, (Len(stFrom) - Position))
            stFrom = Left(Temp, (Len(Temp) - 1))
         Elseif IncomEmail.hasitem("Principal") Then
            stFrom = IncomEmail.Principal(0)
         End If
         
         'create Memo
         Set ReplyEmail = db.CreateDocument
         ReplyEmail.SendTo = stFrom
         ReplyEmail.Subject = "Re.: " + IncomEmail.Subject(0)
         ReplyEmail.Body = "Thank you"
         ReplyEmail.Principal = stRecipient
         ReplyEmail.From = stRecipient
         ReplyEmail.SaveMessageOnSend = True
         Call ReplyEmail.Send(False)
      End If
      
      Call s.UpdateProcessedDoc(IncomEmail)
      Set IncomEmail = dc.getnextdocument(IncomEmail)
   Wend
End Sub
« Letzte Änderung: 20.04.08 - 23:42:49 von Legolas »
Arbeite klug, nicht hart.

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: In E-Mail Rückantwort fehlt das FROM-Feld
« Antwort #1 am: 20.04.08 - 22:49:52 »
Lotus Notes/Domino Agent FAQ updated 4/18/07 by Julie Kadashevich

1) How to change the apparent sender of the agent generated mail.
Information on three different ways to do it with code samples has been moved to the "Troubleshooting agents" article.
http://www-10.lotus.com/ldd/today.nsf/62f62847467a8f78052568a80055b380/ef1565a0b202808285256c94004fd0fb?OpenDocument&Highlight=0,kadashevich

Related information not covered in the article:
What is $INetFrom:
http://www.notes.net/46dom.nsf/55c38d716d632d9b8525689b005ba1c0/7de5b937e6b113438525680f006f3597?OpenDocument&Highlight=0,inetfrom
http://www.notes.net/46dom.nsf/55c38d716d632d9b8525689b005ba1c0/0a2fb58af0864fff852568e30055b386?OpenDocument&Highlight=0,inetfrom
And if you have problems even if you have used the right syntax and followed instructions:
http://www.notes.net/46dom.nsf/7d6a87824e2f09768525655b0050f2f2/61c58ede8a7178458525693c006129b6?OpenDocument
From field has format name%doman@company.com, how do to drop %doman portion:
http://www.notes.net/46dom.nsf/7d6a87824e2f09768525655b0050f2f2/9253ec348d06535b852569f20067617b?OpenDocument


2
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Legolas

  • Senior Mitglied
  • ****
  • Beiträge: 446
  • Geschlecht: Männlich
Re: In E-Mail Rückantwort fehlt das FROM-Feld
« Antwort #2 am: 21.04.08 - 00:00:22 »
Hallo,

bin mir nicht ganz sicher ob ich diese Antwort richtig verstehe!  ???

Um Missverständnissen vorzubeugen:
Ich möchte nicht den Absender der ursprünglichen E-Mail abändern sonder ein neues Mail an den Absender zurücksenden.
Der Absender für die Replay-Mail ist immer auch der Besitzer der Maildatenbank.
Arbeite klug, nicht hart.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: In E-Mail Rückantwort fehlt das FROM-Feld
« Antwort #3 am: 21.04.08 - 00:17:45 »
Hallo Bernd,

was Du richtig verstehen musst (und das findest Du auch in den verlinkten Artikeln) ist das Funktionieren der Methode NotesDocument.Send: Diese setzt immer den Namen des aktuellen Benutzers ein. Wenn es sich um eine Internet-Adresse handeln muss, hast Du bei einem Server natürlich schlechte Karten ...
Du solltest darüber nachdenken, dass Mail nicht zu "Senden", sondern in der MAIL.BOX (oder MAILx.BOX - das solltest Du gleich mit berücksichtigen) anzulegen und zu speichern. Den Rest übernimmt dann der Router - ohne Send-Methode.

Weiterhin:
Du willst immer mit dem aktuellen Eigentümer des Mailfiles anworten, hast das aber hardcodiert. Warum liest Du das nicht aus dem "(CalendarProfile)" aus? Ich finde auch weitere Teile in diesem Code, die völlig unnötig sind und darauf hindeuten, dass Du das Zeugs irgendwo "gefunden" hast. Mach sowas nicht! Nimm derartigen Code als Beispiel und Lernstoff oder Anti-Beispiele und baue es nach dem Durchdenken immer ganz neu auf entsprechend Deiner Kenntnisse und Standards.

HTH,
Bernhard

Offline Legolas

  • Senior Mitglied
  • ****
  • Beiträge: 446
  • Geschlecht: Männlich
Re: In E-Mail Rückantwort fehlt das FROM-Feld
« Antwort #4 am: 21.04.08 - 08:25:27 »
Hallo Bernhard,

der Code ist reiner Testcode.
Der soll so nicht zum Einsatz kommen.
Mir ging's hier vor allem um das Verständnis warum die Reply-Mail nicht korrekt versendet wird.

Eine Frage ist aber für mich immer noch offfen!
Warum wir das Feld "From" nicht mit übertragen?

Gruß
Bernd
Arbeite klug, nicht hart.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: In E-Mail Rückantwort fehlt das FROM-Feld
« Antwort #5 am: 21.04.08 - 10:12:27 »
Hast Du den ersten Teil meiner Antwort denn nicht gelesen?

Bernhard

Offline Legolas

  • Senior Mitglied
  • ****
  • Beiträge: 446
  • Geschlecht: Männlich
Re: In E-Mail Rückantwort fehlt das FROM-Feld
« Antwort #6 am: 21.04.08 - 21:49:16 »
Hallo Bernhard,

wer lesen kann hat schon so seine Vorteile im Leben!  ;)

Bin mir wegen dem richtigen Lösungsansatz immer noch nicht ganz sicher:
Ist dies die bestmöglichste Variante ein Mail-In Agent zu erstellen, der Replay-Mails für einen bestimmten Absender aus dem Internet erstellt und versendet?
oder...
gibt es noch andere Lösungsansätze die sinnvoll sind?

Gruß
Bernd
Arbeite klug, nicht hart.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: In E-Mail Rückantwort fehlt das FROM-Feld
« Antwort #7 am: 21.04.08 - 22:05:10 »
Irgendwie hast Du immer noch nicht richtig gelesen (und verstanden).

Die Methode NotesDocument.Send hilft Dir sehr wenig bis gar nicht (je nachdem, wie Deine ganz konkrete Aufgabenstellung aussieht).

Du brauchst einen Agent, der Mails in der MAIL.BOX erstellt und dann kannst Du ein NotesDocument.From / INetFrom Deiner Wahl erstellen.
Liegt der Agent in einer stino Mail-Datenbank, kannst Du den erforderlichen Absender (From) aus dem "(CalendarProfile)" dynamisch auslesen.

Alternativ kannst Du Dich kaputtadministrieren und mit OnBehalfOf arbeiten oder die Signierung veranlassen oder ähnliches Zeugs, was man eigentlich scheut wie der Teufel das Weihwasser. Gute Programmierer sind faul (und arbeiten deshalb beim ersten Mal gleich richtig).

Bernhard

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: In E-Mail Rückantwort fehlt das FROM-Feld
« Antwort #8 am: 21.04.08 - 23:36:06 »
Hi,

warum so "kopliziert", mail.box...

Hast Du die möglichkeit einen "User" dafür anzulegen?

Du kannst den Agenten dann im Namen des Benutzers ausführen oder
ihn gleich mit diesem Benutzer signieren, falls eine Notes-ID da ist.

Dieser Benutzer benötigt dann noch im Feld "Internet-Adresse" deinen gewünschten Absender,
wobei die Domäne (@blablab.com) schon bei deinen sein sollte.

Gruss, Pete(r)



pete(r)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: In E-Mail Rückantwort fehlt das FROM-Feld
« Antwort #9 am: 22.04.08 - 00:17:29 »
Pete, das war jetzt aber aber ein ganz arger Schnellschuss. Lies bitte nochmals und wirklich aufmerksam das Ausgangspostings und den weiteren Verlauf des Threads.
Ausserdem: Für solch eine simple Aufgabe Lizenzgebühren zahlen müssen ... ich weiss nicht.
Aus meiner bisherigen Sicht des Threads ist Dein Lösungsvorschlag sehr kurzsichtig.

Bernhard

PS: Ad "kompliziert" - drei Zeilen wären beim bisherigen Code auszutauschen. Eigentlich natürlich der komplette Code, aber das wird ja hier gar nicht diskutiert.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz