Well I solved it with this script
$EmailFrom = "from@outlook.com"
$EmailTo = "to@gmail.com"
$EmailSubject = "Testing with attachments"
$SMTPServer = "smtp.office365.com"
$SMTPAuthUsername = "authuser@outlook.com"
$SMTPAuthPassword = "password"
$emailattachment = "<fully qualified path and name>"
function send_email {
$mailmessage = New-Object System.Net.Mail.MailMessage
$mailmessage.From = ($emailfrom)
$mailmessage.To.Add($emailto)
$mailmessage.Subject = $emailsubject
$mailmessage.Body = $emailbody
$attachment = New-Object Net.Mail.Attachment($emailattachment)
$attachment = New-Object Net.Mail.Attachment($emailattachment, "text/plain")
$mailmessage.Attachments.Add($attachment)
#$mailmessage.IsBodyHTML = $true
$SMTP = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTP.EnableSsl = $true
$SMTP.Credentials = New-Object System.Net.NetworkCredential($SMTPAuthUsername , $SMTPAuthPassword)
$SMTP.Send($mailmessage)
$attachment.dispose()
}
send_email
I did try using Send-MailMessage but it wasn't clear how to send the SMTP server credentials. The -credentials option seems to want to use the local server credentials
Thanks for all the suggestions
