Powershell电子邮件添加抄送字段

Powershell电子邮件添加抄送字段,powershell,Powershell,我在这里找到了这段代码,用于使用Powershell发送电子邮件和附件,非常适合,但我正在尝试将电子邮件抄送添加到其中。我想不出来。如果可以的话,请帮我一把。我尝试了各种方法添加$message.Cc.Add(“email_地址”);但是它不能工作。多谢各位 $Username = "MyUserName"; $Password = "MyPassword"; $path = "C:\attachment.txt"; function Send-ToEmail([string]$email,

我在这里找到了这段代码,用于使用Powershell发送电子邮件和附件,非常适合,但我正在尝试将电子邮件抄送添加到其中。我想不出来。如果可以的话,请帮我一把。我尝试了各种方法添加$message.Cc.Add(“email_地址”);但是它不能工作。多谢各位

$Username = "MyUserName";
$Password = "MyPassword";
$path = "C:\attachment.txt";

function Send-ToEmail([string]$email, [string]$attachmentpath){

    $message = new-object Net.Mail.MailMessage;
    $message.From = "YourName@gmail.com";
    $message.To.Add($email);
    $message.Subject = "subject text here...";
    $message.Body = "body text here...";
    $attachment = New-Object Net.Mail.Attachment($attachmentpath);
    $message.Attachments.Add($attachment);

    $smtp = new-object Net.Mail.SmtpClient("smtp.gmail.com", "587");
    $smtp.EnableSSL = $true;
    $smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
    $smtp.send($message);
    write-host "Mail Sent" ; 
    $attachment.Dispose();
 }
Send-ToEmail  -email "reciever@gmail.com" -attachmentpath $path;

这对我有用。请试一试

$smtpCred = (Get-Credential) 
$ToAddress = 'to@outlook.com'
$CcAddress = 'cc@outlook.com'
$FromAddress = 'from@outlook.com'
$SmtpServer = 'smtp.office365.com'
$SmtpPort = '587'

$mailparam = @{
 To = $ToAddress
 Cc = $CcAddress
 From = $FromAddress
 Subject = 'Test Subject'
 Body = 'Test Body'
 SmtpServer = $SmtpServer
 Port = $SmtpPort
 Credential = $smtpCred
 }
Send-MailMessage @mailparam -UseSsl

“不能让它工作”是什么意思
$message.Cc.Add()
似乎是正确的调用。为什么不使用
Send-MailMessage
?Send-MailMessage,我不知道我在Stackoverflow上找到了上面的代码,它工作得很好。我不会在计算机运行时,所以我需要一个脚本,其中包含smtp服务器的用户名和密码,它有附件。有什么不同吗?@Paxz我会再试一次。也许是我打错了什么的好的谢谢。我将把我的答案放在底部。计算机运行时我不在,因此我需要一个包含smtp服务器用户名和密码的脚本。您需要处理所有新对象还是仅处理附件,您怎么知道?
$Username = "MyUserName";
$Password = "MyPassword";
$path = "C:\attachment.txt";

function Send-ToEmail([string]$email, [string]$emailCc, [string]$attachmentpath){

    $message = new-object Net.Mail.MailMessage;
    $message.From = "YourName@gmail.com";
    $message.To.Add($email);
    $message.Cc.Add($emailCc);
    $message.Subject = "subject text here...";
    $message.Body = "body text here...";
    $attachment = New-Object Net.Mail.Attachment($attachmentpath);
    $message.Attachments.Add($attachment);

    $smtp = new-object Net.Mail.SmtpClient("smtp.gmail.com", "587");
    $smtp.EnableSSL = $true;
    $smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
    $smtp.send($message);
    write-host "Mail Sent" ; 
    $attachment.Dispose();
 }
Send-ToEmail  -email "reciever@gmail.com" -emailCc "CCreciever@gmail.com" -attachmentpath $path;