2013-07-10 58 views
0

我想在使用Windows 8和powersell的一行中从我的gmail ccoiunt发送一封电子邮件。这是我使用的代码:使用凭据从powershell命令行发送电子邮件

Send-MailMessage -smtpServer 'smtp.gmail.com' -port 587 -from '[email protected]' -to '[email protected]' -subject 'Test' -body 'Body' –UseSsl 

但我不知道如何添加凭据。我怎样才能将用户名和密码添加到这个单一的代码行? (不需要加密密码)。

感谢

+0

的可能重复[如何凭据传递到发送,命令MAILMESSAGE用于发送电子邮件(http://stackoverflow.com/questions/12460950/how-to-pass -createntials-to-the-send-mailmessage-command-for-sending-emails) –

+0

它不是重复的,因为“-credential $ mycredentials”在单一代码行中没有证书。我不知道如何将用户名和密码添加到该“-credential”命令 – Ton

+0

尝试阅读答案,而不仅仅是问题。 –

回答

0
Send-MailMessage -smtpServer 'smtp.gmail.com' -port 587 -from '[email protected]' -to '[email protected]' -subject 'Test' -body 'Body' –UseSsl -Credential (New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "myUsername" (ConvertTo-SecureString -String "myPassword" -AsPlainText -Force)) 
0
 $EmailTo = "[email protected]" // [email protected] 
    $EmailFrom = "[email protected]" //[email protected] 
    $Subject = "zx" //subject 
    $Body = "Test Body" //body of message 
    $SMTPServer = "smtp.gmail.com" 
    $filenameAndPath = "G:\abc.jpg" //attachment 
    $SMTPMessage = New-Object System.Net.Mail.MailMessage($EmailFrom,$EmailTo,$Subject,$Body) 
    $attachment = New-Object System.Net.Mail.Attachment($filenameAndPath) 
    $SMTPMessage.Attachments.Add($attachment) 
    $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) 
    $SMTPClient.EnableSsl = $true 
    $SMTPClient.Credentials = New-Object System.Net.NetworkCredential("[email protected]", "xxxxxxxx"); // xxxxxx-password 
    $SMTPClient.Send($SMTPMessage) 
相关问题