我对cmdlet send-mailmessage有一个奇怪的问题。在powershell上使用direclty时,它可以很好地工作,但是当我想在脚本上使用它来编辑邮件用户的不同变量时,邮件就无法正常发送。 我有这段代码:
$userInfo = $fornamn+" "+$efternamn+" "+$usernm+" "+$pass
$from = "administrator@"+$ADinfo.dnsroot
$to = $fornamn+"."+$efternamn+"@cuebid.se"
$smtpserver = "cb-dc02.cuebid.local"
$subject = "sys-konto"
Send-MailMessage $to $subject $userInfo $smtpserver -from $from
$ fornamn,$ efternamn和$ pass是先前在脚本中创建的变量,所有变量都是String类型。
使用脚本时,我没有收到任何邮件,但在交换日志中,我可以看到收到邮件 直接在powershell中我创建变量和运行send-mailmessage它完美无缺 任何想法为什么?
答案 0 :(得分:0)
我这里没有这种行为。此外,您可以更优雅地组合字符串变量,因为在双引号中发生变量替换(请注意点前面的反引号):
$userInfo = "$fornamn $efternamn $usernm $pass"
$from = "administrator@"+$ADinfo.dnsroot
$to = "$fornamn`.$efternamn@cuebid.se"
$smtpserver = "cb-dc02.cuebid.local"
$subject = "sys-konto"
Send-MailMessage $to $subject $userInfo $smtpserver -from $from
您确定邮件最终没有被标记为垃圾邮件吗?我知道这似乎不合逻辑,因为从命令行执行时,你说它有效。值得仔细检查。
我能想到的另一件事是,在.ps1文件中,变量不包含完全相同的值(可能是某个地方的空间太多)。