假设我正面临这种情况。我得到了班上学生的考试成绩(分数)。而且我需要让每个人在不知道别人的分数的情况下单独得分。 分数保存在Excel文件(或其他类型的文件)中,就像scores information saved in an Excel file所示。 我在我的展望中收到了这些学生的电子邮件地址,这些地址显示在contacts中。 我想知道,是否有可能使用Powershell向每个人发送一封包含他们的分数信息的电子邮件,其信息显然是相同的模式? 在我的工作中,我总是遇到这种情况,我需要向每个人发送一封包含一些信息的电子邮件,这对于每个人来说都是不同的,但是在相同的模式中。如果有人帮我这个,我会非常感激。
答案 0 :(得分:0)
你去:)
$csv = import-csv path\to\csv\book2.csv
foreach ($c in $csv) {
$name = $c.name
$score = $c.score
$Body = "
<p style='text-align: justify; direction: rtl;'><font face='verdana'>Hello $name</font></p>
<p style='text-align: justify; direction: rtl;'><font face='verdana'>Your Score is: $score</font></p>
<hr width='1px'; size='500px'; color='#4169E1';>
"
}
$password = "Put your secure password here" | ConvertTo-SecureString -asPlainText -Force
$username = "your username@domain.com"
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
Send-MailMessage -From youraddress@domain.com -To $RecipientsTo -Subject "Score" -BodyAsHtml $Body -SmtpServer "server.domain.com" -Credential $Credential -Encoding UTF8
将路径更改为csv
password
username
和send-mailMessage
中的参数
你应该提供一个name email score
列的csv。
唯一可能导致错误的命令是send-mailmessage
,我的示例是使用Microsoft Exchange帐户。