PowershellMailmodule,发送outbox里的所有邮件(一个.csv文件代表一封邮件)(三)

2015-02-03 04:25:19 · 作者: · 浏览: 67
ess = $tmp.From $mail.From = New-Object System.Net.Mail.MailAddress($MailAddress) #set the destination addresses $MailtoAddress =$tmp.To $mail.To.Add($MailtoAddress) #set the CC addresses foreach($cca in $tmp.CC -split ','){ if($cca -ne "" -and $cca -ne $null){ $copy =New-Object System.Net.Mail.MailAddress("$cca"); $mail.CC.Add($copy); } } #set the content $mail.Subject = $tmp.Subject $mail.Priority = $tmp.Priority $mail.Body = $tmp.Body #set the attachments foreach($filename in $tmp.attachments -split ','){ if(Test-Path -Path $filename){ $attachment = new-Object System.Net.Mail.Attachment($filename) $mail.Attachments.Add($attachment) } } #add to array return $mail; } } function ConvertFrom-Mail{ [CmdletBinding()] param( [System.String]$Path ) begin { $pop = $pwd cd $Path } process { [System.Net.Mail.MailMessage[]]$mails = @() foreach($f in $(ls -Path $Path -Name "*.csv")){ $tmp = Import-Csv -Path $f $mail = New-Object System.Net.Mail.MailMessage #set the from addresses $MailAddress = $tmp.From $mail.From = New-Object System.Net.Mail.MailAddress($MailAddress) #set the destination addresses $MailtoAddress =$tmp.To $mail.To.Add($MailtoAddress) #set the CC addresses foreach($cca in $tmp.CC -split ','){ if($cca -ne "" -and $cca -ne $null){ $copy =New-Object System.Net.Mail.MailAddress("$cca"); $mail.CC.Add($copy); } } #set the content $mail.Subject = $tmp.Subject $mail.Priority = $tmp.Priority $mail.Body = $tmp.Body #set the attachments foreach($filename in $tmp.attachments -split ','){ if(Test-Path -Path $filename){ $attachment = new-Object System.Net.Mail.Attachment($filename) $mail.Attachments.Add($attachment) } } #add to array $mails += $mail; } return $mails; } end { cd $pop } } function Get-Smtp{ param( [System.String]$Path ) begin { $pop = $pwd cd $Path } process { $param = Import-Csv ".\smtp.csv" $smtpServer = $param.Server $smtpUser = $param.User $smtpPassword = $($param.Password|ConvertTo-SecureString) $smtp = New-Object System.Net.Mail.SmtpClient -argumentList $smtpServer #$smtp.Credentials = New-Object System.Net.NetworkCredential -argumentList $smtpUser,"Isoft1410"#$smtpPassword $smtp.Credentials = New-Object System.Net.NetworkCredential -argumentList $smtpUser, $smtpPassword return $smtp; } end { cd $pop } } function ConvertTo-Mail{ [CmdletBinding()] param( $mail, [System.String]$Path ) $mail|Export-Csv -Path $Path } Export-ModuleMember -Function ConvertFrom-Mail, ConvertTo-Mail,Get-Smtp, ConvertFrom-MailCsv,import-Zip,export-Zip