Email 使用“发送邮件”命令时的电子邮件凭据
我搜索了很多论坛,他们确实解释了如何做到这一点,但技术语言太难理解,因为我对powershell非常陌生。我想一步一步向我解释这一点(婴儿步骤)。我想在批处理文件(.bat)中运行此powershell命令。我有一个每周进行robocopy备份的批处理文件,我希望该批处理文件在备份完成后向我发送电子邮件。我唯一的问题是凭证,我会看到一个弹出框,询问用户名和密码。当我输入此信息时,电子邮件将成功发送。这就是我所拥有的 使用:powershell V2.0 Windows 7 UltimateEmail 使用“发送邮件”命令时的电子邮件凭据,email,batch-file,powershell,command,powershell-2.0,Email,Batch File,Powershell,Command,Powershell 2.0,我搜索了很多论坛,他们确实解释了如何做到这一点,但技术语言太难理解,因为我对powershell非常陌生。我想一步一步向我解释这一点(婴儿步骤)。我想在批处理文件(.bat)中运行此powershell命令。我有一个每周进行robocopy备份的批处理文件,我希望该批处理文件在备份完成后向我发送电子邮件。我唯一的问题是凭证,我会看到一个弹出框,询问用户名和密码。当我输入此信息时,电子邮件将成功发送。这就是我所拥有的 使用:powershell V2.0 Windows 7 Ultimate Po
Powershell -command send-mailmessage -to emailadress@provider.com -from emailaddress@provider.com -smtp smtp.broadband.provider.com -usessl -subject 'backup complete'
我不确定您是否可以使用sendmailmessage命令进行SMTP身份验证。但是,您可以通过需要使用Net.Mail.SmtpClient对象和System.Net.Mail.MailMessage对象进行身份验证的SMTP服务器发送邮件。请参阅以获得一个好的示例。请查看 您将看到您可以通过参数
-credential domain01\admin01
如果不需要任何提示(将您的凭证保存在文本文件中),请查看此处。您可以在同一命令中传递凭证对象-这将避免弹出:
Powershell -Command 'Send-MailMessage -to "emailadress@provider.com" -from "emailaddress@provider.com" -smtp "smtp.broadband.provider.com" -usessl -subject "backup complete" -credential (new-object System.Net.NetworkCredential("user","pass","domain"))'
我建议将用户名/密码存储在更安全的格式中,但这应该可以满足您的需要
Powershell -Command 'Send-MailMessage -to "emailadress@provider.com" -from "emailaddress@provider.com" -smtp "smtp.broadband.provider.com" -usessl -subject "backup complete" -credential (new-object System.Net.NetworkCredential("user","pass","domain"))'