PowershellMailmodule,发送outbox里的所有邮件(一个.csv文件代表一封邮件)(三)
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