I'd like to send email from PowerShell, so I use this command:
$EmailFrom = "[email protected]" $EmailTo = "[email protected]" $Subject = "today date" $Body = "TODAY SYSTEM DATE=01/04/2016 SYSTEM TIME=11:32:05.50" $SMTPServer = "smtp.mail.yahoo.com" $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) $SMTPClient.EnableSsl = $true $SMTPClient.Credentials = New-Object System.Net.NetworkCredential("[email protected]", "password") $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
This command didn't work for Yahoo mail or Outlook mail, but works for my Gmail. Is there anything wrong that I have done?
The Send-MailMessage cmdlet sends an email message from within PowerShell. You must specify a Simple Mail Transfer Protocol (SMTP) server or the Send-MailMessage command fails. Use the SmtpServer parameter or set the $PSEmailServer variable to a valid SMTP server.
Use the Powershell command-line to send an email using Gmail. Enter the Gmail account credentials. If the test was successful, you will receive the sent message. Send the email with an attachment using Powershell.
Testing SMTP with PowerShell Simply edit the line with SMTP server name, port (it will default to 25 if you don't specify it), the from email address (doesn't have to be valid, just in the format [email protected] and something your mail filter will not block), to email address, subject, and message body as follows.
Following code snippet really works for me:
$Username = "MyUserName"; $Password = "MyPassword"; $path = "C:\attachment.txt"; function Send-ToEmail([string]$email, [string]$attachmentpath){ $message = new-object Net.Mail.MailMessage; $message.From = "[email protected]"; $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 "[email protected]" -attachmentpath $path;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With