2017-11-23 3 views
0

Notes-ID:E-Mail schicken Lotus-Skript automatisieren Agenten (Ist es möglich, den Absender kein Agenten-Unterzeichner ändern)

PCSAdmin LSBSAdmin

Frage: Ich habe einen Agenten von Automate Nachrichten senden. Können wir den Absender als andere Person bearbeiten, nicht als Person, die einen Agenten unterschrieben hat?

Fall:

  1. Derzeit wird der Agent unterzeichnet von [PCSAdmin]. So wird es immer senden durch die Person Anruf "PCSAdmin"
  2. Ich möchte zu einem anderen Konto [LSBSAdmin] senden Sie die E-Mail, können wir das Skript des Absenders bearbeiten? oder muss der Agent mit [LSBSAdmin] signiert sein?

Lotus Script

Dim maildoc As NotesDocument 
    Dim body As NotesMIMEEntity, header As NotesMIMEHeader, stream As NotesStream 
    Dim child As NotesMIMEEntity 
    Set stream = s.Createstream() 
    s.Convertmime = False 
    Set maildoc = db.Createdocument() 
    maildoc.Form = "Memo" 
    Set body = maildoc.Createmimeentity 
    Set header = body.Createheader("Subject") 
    Call header.Setheaderval("NOTIFICATION Email") 
    Set header = body.Createheader("To")  ' Send to/to 
    Call header.Setheaderval("personname") 
    Set header = body.Createheader("CopyTo") ' Copy To/cc 
    Call header.Setheaderval("Personname") 
    Call stream.Writetext(|<html><body>|) 

    Call stream.Writetext(|<b>Dear | + lsdoc.Getitemvalue("Name")(0) + |,</b><br>|) 
    Call stream.Writetext(|<p>|+ "Attached herewith is the FORM for Application for Renewal of application <b>"+ sadoc.name(0)+|</b>.</p>|)  
    Call stream.Writetext(|<p>| + "Please complete the FORM and send by email to <b>"+MailAddress+"</b>" +_ 
      ", with the subject '<b>RENEWAL Application</b>'" + |</p>|) 
    Call stream.Writetext(|<p> Thank you </p>|) 
    Call stream.Writetext(|<p> </p>|) 
    Call stream.Writetext(|Secretary<br>|) 
    Call stream.Writetext(|Company<br>|) 
    Call stream.Writetext(|<em>(No signature is required on this computer generated document)</em><br>|) 
    Call stream.Writetext(|</body></html>|) 
    Set child = body.Createchildentity() 
    Call child.Setcontentfromtext(stream, "text/HTML;charset=iso-8859-1", ENC_NONE) 
    Call stream.Close() 
    Call stream.Truncate() 
Set child = body.Createchildentity() 
    Set header = child.Createheader("Content-Type") 
    Call header.Setheaderval("multipart/mixed") 
    Set header = child.Createheader("Content-Disposition") 
    Call header.Setheaderval(|attachment; filename="| + xlfilename + |"|) 
    Set header = child.Createheader("Content-ID") 
    Call header.Setheaderval(|"| + xlfilename + |"|) 
    Set stream = s.Createstream() 
    If Not stream.Open(template, "binary") Then 
     Print "Unable to open " + template 
    End If 
    If stream.Bytes = 0 Then 
    Print template + " has no content" 
    End If 
    Call child.Setcontentfrombytes(stream, "application/vnd.ms-excel", ENC_IDENTITY_BINARY) 
    Call stream.Close() 
    Call stream.Truncate() 
    Call maildoc.Send(False) 
    Print "Email sent" 
    s.Convertmime = True 

Antwort

2

Siehe meine Antworten to this earlier question und this question, too und Knut's answer to yet another question.

Die beste Methode, die von IBM unterstützt wird, besteht darin, das Principal-Feld zu verwenden, aber die Absenderidentität nicht vollständig zu verbergen. Wenn Sie dies tun müssen, müssen Sie die Nachricht direkt in die Datei mail.box schreiben, anstatt die Methode NotesDocument.Send() zu verwenden. Es gibt eine Verbindung zu Karl-Henry Martinssons Skript dafür in Knuts Antwort.

Beachten Sie, dass eine Suche hier vor der Frage eine gute Idee gewesen wäre.

+0

Siehe auch diese Antwort: https://stackoverflow.com/a/47392188/785061 –

+0

ich versuche es funktioniert. Aber ich habe eine Frage, basierend auf kruts anwser, muss es die mail.box speichern, ist das üblich? –

+0

Ja, es ist ziemlich üblich. Ich denke, dass viele Leute wahrscheinlich Karl-Henrys Klasse benutzen (verbunden mit Knuts Antwort), aber in einigen Fällen würde ich den Mailserver nicht so bestimmen, wie er es tut. Es ist der richtige Weg für Code, der immer in einem Agenten ausgeführt wird, der auf dem Server ausgeführt wird, also sollte es gut für Sie sein. –

Verwandte Themen