使用自动莲花脚本代理发送电子邮件(是否可以更改发件人而不是代理签名者)
Send Email using automate lotus script Agent (Is it possible to change the sender not a agent signer)
笔记编号:
PCSAdmin
LSBSAdmin
问题:
我有一个自动发送邮件的代理。我们可以编辑发件人成为其他人而不是签署代理人的人吗?
案例:
- 目前,代理由 [PCSAdmin] 签名。所以它会一直发送
被人叫出来"PCSAdmin"
- 我想换个帐号[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 的脚本。
请注意,在询问之前搜索此处是个好主意。
笔记编号:
PCSAdmin LSBSAdmin
问题: 我有一个自动发送邮件的代理。我们可以编辑发件人成为其他人而不是签署代理人的人吗?
案例:
- 目前,代理由 [PCSAdmin] 签名。所以它会一直发送 被人叫出来"PCSAdmin"
- 我想换个帐号[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 的脚本。
请注意,在询问之前搜索此处是个好主意。