Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: inu am 23.07.09 - 12:02:47

Titel: Falscher Absender bei send()
Beitrag von: inu am 23.07.09 - 12:02:47
Hallo Leute,

habe auf einer Schaltfläche (innerhalb einer Maske) diesen Code hier hinterlegt:

Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
uidoc.Document.Subject = "test"
uidoc.document.sendto  = "empfaenger@mail.de"
uidoc.Document.from    = "vorname.name@mail.de"
Call uidoc.Document.Send(True)

Komisch ist, dass das von mir gesetzte "From"-Feld offensichtlich nicht zur Wirkung kommt. Der Empfänger sieht als Absender nicht "vorname.name@mail.de", sondern meine eigene E-Mail-Adresse.
Dies ist so nicht gewollt. Wie kann ich erreichen, dass als Absender ein frei definierbarer Name steht?

Viele Grüße
David


Titel: Re: Falscher Absender bei
Beitrag von: ascabg am 23.07.09 - 12:07:20
Hi,

Versuch mal auch das Feld "Principal" zu setzten (=From)


Andreas
Titel: Re: Falscher Absender bei
Beitrag von: inu am 23.07.09 - 12:28:12
Genau das gleiche. Es erscheint mein Name im Absender.
Titel: Re: Falscher Absender bei
Beitrag von: ZaLudtske am 23.07.09 - 12:48:59
Hallo,

der Absender wird wird beim Senden überschrieben. Wenn man den Absendern "fälschen" will muß das entsprechende Dokument in der Mail.box auf dem Server eingestellt werden.

HTH

Rainer
Titel: Re: Falscher Absender bei
Beitrag von: inu am 23.07.09 - 12:54:21
Danke ZaLudtske,

und wie mache ich das?
Titel: Re: Falscher Absender bei
Beitrag von: ZaLudtske am 23.07.09 - 12:59:56
Als erstes benötigt an Schreibrechte auf die Mail.box. Die Mail.box läßt sich ansprechen wie eine ganz normale Datenbank (was sie ja auch ist). Geöffnet wird sie mit GetDatabase. Ich würde das ganze als Agent programmieren, der mit den Rechten des Admin läuft.

HTH

Rainer
Titel: Re: Falscher Absender bei
Beitrag von: inu am 23.07.09 - 13:04:14
Mmh, und anders geht das mit dem Absendernamen nicht?

Muss ich dann in der Mailbox auch die Maske des Dokuments vorhalten?
Titel: Re: Falscher Absender bei
Beitrag von: ZaLudtske am 23.07.09 - 13:05:59
2 x Nein
Titel: Re: Falscher Absender bei send()
Beitrag von: inu am 23.07.09 - 14:01:50
Um die mail.box zu öffnen brauche ich noch den Servernamen. Wie lese ich meinen Mailserver aus? Wie bekomme ich raus, ob die mail.box wirklich "mail.box" und nicht "mail1.box" o. ä. heißt?


Nachtrag: Also den Mailserver habe ich schon mal herausbekommen, bleibt noch die mail-box:

MyServer = Session.GetEnvironmentString("mailserver", True)

Titel: Re: Falscher Absender bei send()
Beitrag von: ascabg am 23.07.09 - 14:09:49
Frage:
Wo liegt die Db, in dem Dein erster Code enthalten ist?

Wenn auf Server, dann siehe NotesDatabase.Server oder NotesDatabase.OpenMail

Problem mit der mail.box (mail1.box, mail2.box, ...)
per Script testen for i = 1 to xx -> wenn db geoeffnet werden kann, dann ist sie da.
Sagt aber noch nichts darueber aus, ob diese auch beim senden von mails verwendet wird.


Andreas
Titel: Re: Falscher Absender bei send()
Beitrag von: ZaLudtske am 23.07.09 - 14:11:39
Ich lege solche Daten immer in einem Anwendungsprofile ab. Ist zwar nicht so dynamisch, hat aber vorteile wenn man eine Entwicklungs-, eine Test- und eine Produktionsumgebung hat.

Rainer
Titel: Re: Falscher Absender bei send()
Beitrag von: inu am 23.07.09 - 14:31:19
So, habe jetzt den Code so verändert, dass in der Mailbox die Mail erstellt und abgesendet wird. Allerdings WIEDER mit meiner Kennung:

   Dim Workspace  As New NotesUIWorkspace   
   Dim Session    As New NotesSession   
   Dim Mailbox    As NotesDatabase
   Dim MailDoc    As NotesDocument
   Dim UIDoc      As NotesUIDocument
   Dim MyServer   As String
   Dim MyMailbox  As String
   
   MyServer       = Session.CreateName(Session.GetEnvironmentString("mailserver", True)).Abbreviated
   MyMailbox      = "mail.box"   
   Set Mailbox    = session.GetDatabase(MyServer, MyMailbox)
   
   Set MailDoc    = Mailbox.CreateDocument
   Set UIDdoc     = Workspace.CurrentDocument
   
   MailDoc.Subject = "Kurzinfo"
   MailDoc.sendto  = "empfaenger.mail.de"
   MailDoc.From    = "absender@mail.de"
   MailDoc.Principal = "absender@mail.de"
   MailDoc.Body    = "test"
   Call MailDoc.Send(False)

 :'(
Titel: Re: Falscher Absender bei send()
Beitrag von: ascabg am 23.07.09 - 14:34:00
In diesem Fall NICHT

Code
Call MailDoc.Send(False)

sondern

Code
Call MailDoc.Save(True, False)

Den Rest sollte dann der Router fuer Dich uebernehmen.


Andreas
Titel: Re: Falscher Absender bei send()
Beitrag von: inu am 23.07.09 - 14:36:08
und genau dann erscheint diese Fehlermeldung:

"No form associated with document"
Titel: Re: Falscher Absender bei send()
Beitrag von: ZaLudtske am 23.07.09 - 14:40:02
MailDoc.replaceitemvalue "Form", "Memo"

sollte die Erlösung bringen.
Titel: Re: Falscher Absender bei send()
Beitrag von: ascabg am 23.07.09 - 14:40:13
Dann sag ihm doch die Form.

MailDoc.Form = "Memo"



Andreas
Titel: Re: Falscher Absender bei send()
Beitrag von: zysmo am 23.07.09 - 14:43:26
Geht die Mail eigentlich an einen externen Empfänger?
Dann funktioniert nämlich auch MailDoc.INetFrom = "absender@mail.de"
So mache ich das immer wenn ich einen anderen Absender faken will...

Grüße
Alex
Titel: Re: Falscher Absender bei send()
Beitrag von: inu am 23.07.09 - 14:48:09
Ja, es geht an externe Benutzer (Internet-Mailing).

Beide Vorschläge haben nicht geholfen.
Titel: Re: Falscher Absender bei send()
Beitrag von: inu am 23.07.09 - 15:05:30
Fehler gefunden, es hat noch folgendes gefehlt:

MailDoc.Recipients = "..."

Thanks @all
Titel: Re: Falscher Absender bei send()
Beitrag von: pete_bla am 24.07.09 - 22:10:30
Hi

nicht vergessen, du must noch das Absendedatum eintragen!

MailDoc.PostedDate = jetzt

Ansonsten gibts seltsame Effekte, wenn die Mails in Notes ankommen...  :P

Gruss, Pete(r)