我一直试图让它工作一段时间,到目前为止我发现很多人都说这是 bug 或者它是功能等等 但似乎没有人能提出解决方案。
我已经开始使用powershell了(v2当然,虽然我从来没有遇到过VBS或我曾经使用的任何其他语言的问题)以及当我发送电子邮件时,例如:
Send-mailmessage -to "me@here.com" -from "me@here.com" -subject "theSubject"
我取代我的主题是:
=?us-ascii?Q?theSubject?=
这是什么以及为什么powershell会这样做?这意味着我们的内部应用程序目前都没有接受来自PowerShell的电子邮件输入。
我已经尝试-Encoding ([System.Text.Encoding]::ASCII)
,这没有任何区别。
在我放弃使用powershell之前,有人可以为此建议fix
(这将是一种耻辱,因为到目前为止我一直非常感动。)
EBGreen - 我的实际代码(直接来自我的脚本 - 名称已更改)是:
$cfg_Address = "me@here.com"
$cfg_Subject = "emailTest"
$cfg_FromAddress = "me@here.com"
$cfg_SMTP = "123.12.1.12"
Send-MailMessage -to "$cfg_Address" `
-From "$cfg_FromAddress" `
-Subject "$cfg_Subject" `
-SmtpServer "$cfg_SMTP"
Matt - 我的电子邮件客户端是一个自定义内置应用程序,它剥离互联网标题并将它们与一组规则进行比较,以确定要执行的操作。在Outlook中查看相同的电子邮件,主题正确显示。但当我看到标题时,它说:
Subject: =?us-ascii?Q?emailTest?=
我运行了测试并使用VBS(同样的To,From,Subject)快速模拟了相同的电子邮件脚本,并将其发送给我自己。看一下我得到的互联网标题:
Subject: emailtest
答案 0 :(得分:1)
这是一个错误。
Powershell v2:
Date: Thu, 16 Oct 2014 18:29:21 +0300
Subject: =?us-ascii?Q?emailTest?=
Powershell v4:
Date: Thu, 16 Oct 2014 18:27:33 +0300
Subject: emailTest
直接升级至WMF5九月预览http://blogs.msdn.com/b/powershell/archive/2014/09/04/windows-management-framework-5-0-preview-september-2014-is-now-available.aspx 或者至少是PowerShell v4(WMF4)。您获得的额外功能令人印象深刻。
答案 1 :(得分:0)
虽然这不是一个真正的答案,但它似乎是我能找到的最佳选择。
1)从脚本中删除Send-MailMessage条目(因为它似乎不起作用)
2)创建一个名为SendEmail.vbs
的单独文件。在此文件中编写一个简单的VBS脚本来发送电子邮件。将它与PowerShell脚本放在一起。
3)在您的powershell脚本中添加行"$result = cscript "c:\path\to\script\SendEmail.vbs"
现在,当您运行powershell脚本时,它将使用VBS文件发送电子邮件。
无论如何都不理想,但至少它有效。