gpt4 book ai didi

powershell - 无法发送Powershell电子邮件-您无法在空值表达式上调用方法

转载 作者:行者123 更新时间:2023-12-03 00:49:42 25 4
gpt4 key购买 nike

我在我的本地计算机上运行此文件,但是当我在另一台计算机上尝试使用该文件时,该文件在同一位置等,则此错误失败。

function email 
{
$emailSmtpServer = "smtp-mail.outlook.com"
$emailSmtpServerPort = "587"
$emailSmtpUser = "USERNAME"
$emailSmtpPass = "PASSWORD"
$attachment = "C:\BackupLog.log"
$emailMessage.Attachments.Add($attachment)
$emailMessage = New-Object System.Net.Mail.MailMessage
$emailMessage.From = "myemail@hotmail.co.uk"
$emailMessage.To.Add( "myemail@civil.lmco.com" )
$emailMessage.Subject = "Database Issues"
$emailMessage.IsBodyHtml = $true
$emailMessage.Body = "Test"

$SMTPClient = New-Object System.Net.Mail.SmtpClient( $emailSmtpServer ,$emailSmtpServerPort )
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential( $emailSmtpUser , $emailSmtpPass );

$SMTPClient.Send( $emailMessage )
}

这是输出
PS C:\Users\XXLOCKRG1> email
You cannot call a method on a null-valued expression
At C:\database_backups\powershell scripts\functions\email.ps1:8 char:34
+ $emailMessage.Attachments.Add <<<< ($attachment)
+ CategoryInfo : InvalidOperation: (Add:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

最佳答案

您有两行代码顺序错误:

$emailMessage.Attachments.Add($attachment) # $emailMessage isn't instantiated yet
$emailMessage = New-Object System.Net.Mail.MailMessage

应该:
$emailMessage = New-Object System.Net.Mail.MailMessage
$emailMessage.Attachments.Add($attachment)

您必须先实例化对象,然后才能引用其成员。

关于powershell - 无法发送Powershell电子邮件-您无法在空值表达式上调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32275921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com