Autor Thema: autoresponder aus Datenbank  (Gelesen 7079 mal)

Offline theo-1964

  • Frischling
  • *
  • Beiträge: 10
autoresponder aus Datenbank
« am: 16.02.11 - 18:38:32 »
Hallo Forum,

ich brauche mal einen Tipp. (Wahrscheinlich mehrere)

ich möchte folgendes Szenario programmieren..

Es besteht bereits eine Webanwendung (einfache Notesdatenbank) in welcher anonyme Webuser ein Formular ausfüllen. Die erfassten Daten werden als Notes Dokument gespeichert. Dort hinterlassen Sie u.a. Ihre E-Mail Adresse.

Nun möchte ich möglichst per Notesscript eine Bestätigungsmail versenden.
Ich haben Agenten geschrieben der das macht nur kann ich diesen nicht periodisch laufen lassen, da dann der E-Mail Absender nicht richtig gesetzt wird.

Das Hauptproblem ist also den E-Mail Absender beliebig setzen zu können.

Ich würde mich über den ein oder anderen Hinweis sehr freuen..

mit freundlichen Grüßen

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: autoresponder aus Datenbank
« Antwort #1 am: 16.02.11 - 18:41:35 »
Hallo und Willkommen im Forum.

Was geht da denn schief?

Wie wäre es, wenn du den Agent einfach "auf neue Dokumente" laufen lässt, er dann jeweils aus dem Feld die Mailadresse holt und eine kurze Mail da hin schickt ?

Chris
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: autoresponder aus Datenbank
« Antwort #2 am: 16.02.11 - 19:35:23 »
Mails, die periodisch versendet werden, haben als Absender den Unterzeichner des Agenten. Unterzeichne den Agenten mit dem User, der als Absender eingetragen werden soll (z.B. mit einem technischen User, der den Namen der Firma trägt)

Offline tron55

  • Aktives Mitglied
  • ***
  • Beiträge: 227
Re: autoresponder aus Datenbank
« Antwort #3 am: 17.02.11 - 12:57:45 »
Verstehe das Problem auch nicht.
Kannst du mal genauer sagen was schief läuft?

Prinzipiell hast du ein Feld in dem der User seine Mail einträgt
und das greifst du einfach durch eine Formel (auf den Feldinhalt) ab und
lässt bei Maileingang(!) automatisch den Agenten antworten.

Ich habe genau dasselbe hier mit einer Bewerberdatenbank +automatisierten Antwortmails.

Mitch

  • Gast
Re: autoresponder aus Datenbank
« Antwort #4 am: 17.02.11 - 13:10:54 »
Das Hauptproblem ist also den E-Mail Absender beliebig setzen zu können.

Standardmäßig wird, wie schon gesagt, der Unterzeichner als Absender gesetzt.

Man kann im Maildokument vor dem Versand ein paar Felder setzen um das ein wenig zu verschönern:

Code
	Dim sendas$
	
	sendas$ = "Max Mustermann <m.mustermann@musterweb.de>"
	
	Call docMail.ReplaceItemValue("From", sendas$)
	Call docMail.ReplaceItemValue("Principal", sendas$)
	Call docMail.ReplaceItemValue("AltPrincipal", sendas$)
	Call docMail.ReplaceItemValue("SMTPOriginator", sendas$)
	Call docMail.ReplaceItemValue("$Principal", sendas$)
	Call docMail.ReplaceItemValue("$AltPrincipal", sendas$)
	Call docMail.ReplaceItemValue("SendFrom", sendas$)

Vielleicht reicht dir das ja schon.

Gruß,

Mitch

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: autoresponder aus Datenbank
« Antwort #5 am: 17.02.11 - 13:13:01 »
From in der Mail zu ändern, nützt nichts, da es von Notes beim Versand (zu Recht) korrigiert wird.

Offline marschul

  • Senior Mitglied
  • ****
  • Beiträge: 280
  • Geschlecht: Männlich
Re: autoresponder aus Datenbank
« Antwort #6 am: 17.02.11 - 13:19:31 »
Peter hat Recht. Sämtliche Send-Methoden (Formel, Script) ersetzen den Eintrag in "From" durch den aktuellen User / Unterzeichner des periodischen Agenten (bzw. beim Agent durch den Eintrag in "Ausführen im Namen von"). Vermeiden lässt sich das nur, indem man das zu sendende Maildokument direkt in der mail.box speichert - das Prinzip von Spam-Schleudern, also Pfui!  :-X

Gruß
Marco
Gruß
Marco

Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß. (Sokrates)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen. (unbekannt)

Mitch

  • Gast
Re: autoresponder aus Datenbank
« Antwort #7 am: 17.02.11 - 13:34:36 »
Mag sein, dass nicht alle Felder ziehen. Ich habe das jetzt einfach aus einer unserer Anwendungen genommen.

Was ich aber sagen kann: In meiner Inbox steht als Absender Max Mustermann drin. Wenn ich die Mail öffne, sehe ich auch Max Mustermann. Zugegeben: Dort steht dann "Gesendet von (Unterzeichner des Agents)" drunter. Aber wie ich sagte: Ein wenig verschönern... :)

Offline theo-1964

  • Frischling
  • *
  • Beiträge: 10
Re: autoresponder aus Datenbank
« Antwort #8 am: 17.02.11 - 16:16:44 »
 :) Ich danke allen. Das hat mir die notwendige Erleuchtung gebracht..
Auf die Sache mit der Signatur war ich nicht gekommen..

Offline Scotty67

  • Aktives Mitglied
  • ***
  • Beiträge: 146
Re: autoresponder aus Datenbank
« Antwort #9 am: 23.02.11 - 08:31:41 »
...darf ich mich an diesen Thread anhängen  ;D

habe das gleiche Problem !
Nachdem es ja nie jemand gestört hat das ich als Agentsigner der Absender von zeitlich gesteuerten Mails war muss ich jetzt
aber eine Änderung durchführen.

Bist jetzt hat ein normales Personen-Dokument in meinem Domänen-NAB gereicht. Dieses Personendokument habe ich per Hand angelegt, also ohne einen Benutzer zu registrieren !

Wenn ich Euch richtig verstanden habe brauche ich jetzt einen registrierten Agent-Signer der als "Person" registriert ist ?
Als outbound-SMTP Adresse wird jene verwendet die ich bei diesem Benutzer hinterlegt habe ?

Offline marschul

  • Senior Mitglied
  • ****
  • Beiträge: 280
  • Geschlecht: Männlich
Re: autoresponder aus Datenbank
« Antwort #10 am: 23.02.11 - 10:02:41 »
Nicht unbedingt:

Wenn Du dem MemoDoc ein Feld "Principal" verpasst und dort eine Absenderadresse einträgst, wird diese beim Empfänger auch angezeigt und Antworten gehen an diese Adresse. Allerdings wird das Feld "From" beim Senden automatisch mit dem Agentunterzeichner gefüllt und das führt beim Empfänger zur Anzeige "Gesendet von..." mit dem Namen des Unterzeichners.
Der Agentunterzeichner muss m.E. eine "richtig" registrierte Person sein (wie soll es anders gehen?).

Gruß
Marco
Gruß
Marco

Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß. (Sokrates)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen. (unbekannt)

Offline Scotty67

  • Aktives Mitglied
  • ***
  • Beiträge: 146
Re: autoresponder aus Datenbank
« Antwort #11 am: 23.02.11 - 10:16:33 »
....wie gesagt die Funktion des Principal's ist auch OK, ein Reply geht auch an diesen Principal zurück..
Aber es ist offensichtlich nur die halbe Wahrheit weil ich als "echter" Sender auftauche und die Mail-Gegenstelle
nur Mails akzeptiert wenn der "echte" Sender dem im Feld Principal geführten entspricht...

ich nehme auch an das ich den Benutzer normal registrieren muss wie eben einen anderen normalen Benutzer ...

Offline kawie

  • Junior Mitglied
  • **
  • Beiträge: 87
  • Ich liebe dieses Forum! Und wie :-)
Re: autoresponder aus Datenbank
« Antwort #12 am: 24.02.11 - 08:21:36 »
Sobald du doc.send benutzt ja! Allerdigns wurde auch schon erwähnt, das ein speichern in der "mail.box" dazu führt das es vom mail router versand wird mit den
Parametern die du angegeben hast. Also auch den gewählten Versender.

Auch wenn es als Spam routine bezeichnet wurde, ist dieses vorgehen meiner Ansicht nach nicht wirklich verwerflich.

Offline Scotty67

  • Aktives Mitglied
  • ***
  • Beiträge: 146
Re: autoresponder aus Datenbank
« Antwort #13 am: 24.02.11 - 08:33:36 »
Sobald du doc.send benutzt ja! Allerdigns wurde auch schon erwähnt, das ein speichern in der "mail.box" dazu führt das es vom mail router versand wird mit den
Parametern die du angegeben hast. Also auch den gewählten Versender.

Auch wenn es als Spam routine bezeichnet wurde, ist dieses vorgehen meiner Ansicht nach nicht wirklich verwerflich.


hab das schon weiter oben im thread gelesen, wie darf man sich das codemäßig vorstellen ?
der entscheidende part in meiner routine schaut derzeit so aus:


If active(0) = "1" Then
   Set itemProcessed = doc.AppendItemValue( "NotifyProcessed", 1 )
   emailAddress=docSupporter.GetItemValue("NLSupporterEmail")
   'docmail.principal = "<ni-service@at.abb.com>< >"
   docmail.principal = "ni-service@at.abb.com@ABB_ATABB"
   'docmail.Subject="" & SenderEmailSubject(0)
   docmail.body=SenderEmailBody(0)
   docmail.SendTo=emailAddress(0)
   docmail.Send (False)
   Call doc.Save( False, True )
Else
End If


wäre "Call docmail.CopyToDatabase( mail1box )"
richtig ? schon klar mail1box gehört deklariert !


Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: autoresponder aus Datenbank
« Antwort #14 am: 24.02.11 - 08:42:14 »
Hallo,

Die muss Deine zu versendende Mail direkt in der mail.box des Servers erstellen und speichern.
(NICHT SENDEN)

Das Problem was Du im ersten Moment ebenfalls noch zu beachten hast ist, wenn es auf dem Server keine mail.box gibt. (sondern nur eine mail1.box, mail2.box, ...)

Dies muesstest Du vorab duch Deinen Code pruefen lassen.


Andreas

Offline kawie

  • Junior Mitglied
  • **
  • Beiträge: 87
  • Ich liebe dieses Forum! Und wie :-)
Re: autoresponder aus Datenbank
« Antwort #15 am: 24.02.11 - 08:48:22 »
Sobald du doc.send benutzt ja! Allerdigns wurde auch schon erwähnt, das ein speichern in der "mail.box" dazu führt das es vom mail router versand wird mit den
Parametern die du angegeben hast. Also auch den gewählten Versender.

Auch wenn es als Spam routine bezeichnet wurde, ist dieses vorgehen meiner Ansicht nach nicht wirklich verwerflich.


hab das schon weiter oben im thread gelesen, wie darf man sich das codemäßig vorstellen ?
der entscheidende part in meiner routine schaut derzeit so aus:


If active(0) = "1" Then
   Set itemProcessed = doc.AppendItemValue( "NotifyProcessed", 1 )
   emailAddress=docSupporter.GetItemValue("NLSupporterEmail")
   'docmail.principal = "<ni-service@at.abb.com>< >"
   docmail.principal = "ni-service@at.abb.com@ABB_ATABB"
   'docmail.Subject="" & SenderEmailSubject(0)
   docmail.body=SenderEmailBody(0)
   docmail.SendTo=emailAddress(0)
   docmail.Send (False)
   Call doc.Save( False, True )
Else
End If


wäre "Call docmail.CopyToDatabase( mail1box )"
richtig ? schon klar mail1box gehört deklariert !


Du kannst es direkt in der mail.box erstellen dann sparst du dir das speichern in der aktuellen db und das "rüberschieben". Es sei den du willst es zu archivzwecken aufbewahren.

Was im gegensatz zu send auf jeden Fall enthalten sein muss, ist das Feld "Recipients" gefüllt mit den empfängern der Mail. Zusätzlich zu den gewünschten Feldern SendTo,CopyTo etc.

als Beispiel dafür:

Code
	Dim recipients As New NotesItem( maildoc, "Recipients", "" )
	Let recipients.IsSummary = True
	Call recipients.AppendToTextList( maildoc.GetItemValue( "SendTo" ) )
	Call recipients.AppendToTextList( maildoc.GetItemValue( "CopyTo" ) )
	Call recipients.AppendToTextList( maildoc.GetItemValue( "BlindCopyTo" ) )

Wie Andreas schon geschrieben hat, darfst du auf keinen fall doc.send benutzten wenn du sie mit einem eigenen Absender benutzen willst.



Gruss

Kai

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz