我有一个脚本,它目前可以做几件事。它在Active Directory中创建一个用户帐户,将数据写入SQL表,并向帐户请求者发送一封包含帐户用户名和密码的电子邮件。
我们很想在该电子邮件中添加一个超链接,这样请求者就可以点击查看他们的原始请求表单,但我似乎无法完全理解语法。
因为PowerShell语法和HTML链接中都使用了双引号,所以我将链接定义为一个变量,并将该变量插入到电子邮件的-body部分,以消除双引号混淆,尽管这可能没有必要。
有人能帮我在这封电子邮件中插入一个链接吗?非常感谢!
当前副本:
"The user account you requested (request #$ReqID) has been created."
我们想要$ReqID来超链接到Web表单。
我定义的变量:
$link = '<a href="http://tsturl/detail.aspx?reqID=$reqID">$ReqID</a>'
但它在电子邮件正文中显示如下:
The user account you requested (request #<a href="http://tsturl/detail.aspx?reqID=$reqID">$ReqID</a>) has been created.
帮助?
交换您的报价,即:
$link = "<a href='http://tsturl/detail.aspx?reqID=$reqID'>$ReqID</a>"
或者做:
$link = '<a href="http://tsturl/detail.aspx?reqID=$reqID">$ReqID</a>'
$link = $ExecutionContext.InvokeCommand.ExpandString($link)
除了注释之外,如果您希望邮件正文呈现为HTML,从而显示一个链接,那么您需要告诉您的邮件客户端该正文是HTML。$link
只是一个普通的旧字符串,不知道它是HTML。
根据您之前的问题,我猜您正在使用Send-MailMessage cmdlet。如果是,则需要指定-BodyAsHtml
开关。