使用自动莲花脚本代理发送电子邮件(是否可以更改发件人而不是代理签名者)

Send Email using automate lotus script Agent (Is it possible to change the sender not a agent signer)

笔记编号:

PCSAdmin LSBSAdmin

问题: 我有一个自动发送邮件的代理。我们可以编辑发件人成为其他人而不是签署代理人的人吗?

案例:

  1. 目前,代理由 [PCSAdmin] 签名。所以它会一直发送 被人叫出来"PCSAdmin"
  2. 我想换个帐号[LSBSAdmin] 发了邮件,我们可以编辑发件人的脚本吗?或者必须用 [LSBSAdmin] 签署代理?

莲花字

    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

查看我的回答to this earlier question and to this question, too, and Knut's answer to yet another question

IBM 支持的最好的方法是使用 Principal 字段,但它并不能完全隐藏发件人身份。如果您需要这样做,您需要将消息直接写入 mail.box 文件,而不是使用 NotesDocument.Send() 方法。 Knut 的回答中有一个 link 到 Karl-Henry Martinsson 的脚本。

请注意,在询问之前搜索此处是个好主意。