4

I have searched through many many forums and they do explain how to do this but the technical language is just too difficult to understand as I'm very new to powershell. I would like this explained to me step by step (baby steps). I would like to run this powershell command in a batch file (.bat). I have a batch file that does robocopy backups weekly and I want the batch file to send me a email when the backup is complete. The only issue I have is the credentials, I get a pop-up box asking for the user name and password. When I eneter this information the email will send successfully. Here is what I have;

Using: powershell V2.0 Windows 7 Ultimate

Powershell -command send-mailmessage -to [email protected] -from [email protected] -smtp smtp.broadband.provider.com -usessl -subject 'backup complete' 

4 Answers 4

6
$from = "[email protected]" $to = "[email protected]" $smtp = "smtpAddress.com" $sub = "hi" $body = "test mail" $secpasswd = ConvertTo-SecureString "yourpassword" -AsPlainText -Force $mycreds = New-Object System.Management.Automation.PSCredential($from, $secpasswd) Send-MailMessage -To $to -From $from -Subject $sub -Body $body -Credential $mycreds -SmtpServer $smtp -DeliveryNotificationOption Never -BodyAsHtml 
Sign up to request clarification or add additional context in comments.

Comments

2

You could pass the credential object in your same command - which would avoid the popup:

Powershell -Command 'Send-MailMessage -to "[email protected]" -from "[email protected]" -smtp "smtp.broadband.provider.com" -usessl -subject "backup complete" -credential (new-object System.Net.NetworkCredential("user","pass","domain"))' 

I'd recommend storing the username/password in a somewhat more safer format, but this should do your trick.

Comments

0

I'm not sure you can do SMTP authentication using the send-mailmessage command. But, you can send a message through an SMTP server that requires authentication using the Net.Mail.SmtpClient object and the System.Net.Mail.MailMessage object. See How to pass credentials to the Send-MailMessage command for sending emails for a good example.

Comments

0

look at the last exemple of send-mailmessage helppage

you will see you can pass credential whith the parameter -credential domain01\admin01

look here Using PowerShell credentials without being prompted for a password if you dont want any prompt (save your cred in a text file)

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.