2016-10-31 4 views
0

Powershell을 통해 이메일을 보내기 위해 이미지를 이메일에 삽입하려고합니다. 다음은 Powershell 이미지를 이메일로 보내기

는 내가 가지고있는 코드 :

$Attachment = New-Object Net.Mail.Attachment($LocalLocation) 
$Attachment.ContentDisposition.Inline = $True 
$Attachment.ContentDisposition.DispositionType = "Inline" 
$Attachment.ContentType.MediaType = "image/png" 


$MailMessage = New-Object Net.Mail.MailMessage 
$MailMessage.To.Add($emailTo) 
$MailMessage.From = $MyEmail 
$MailMessage.Subject = "Test Email" 
$MailMessage.IsBodyHtml = $True 
$MailMessage.Attachments.Add($Attachment) 

$MailMessage.Body = " 
    <html> 
    <head></head> 
    <body> 
     <img src='CID:$($Attachment.ContentId)' /> 
    </body> 
    </html>" 

$SmtpClient = New-Object Net.Mail.SmtpClient("123.0.0.1",25) 
$SmtpClient.Send($MailMessage) 

내가 이메일을 보냈 얻을하지만 그냥 빈 상자는 메시지에있다. $ LocalLocation은 내 이미지에 대한 링크입니다.

내가 파워 쉘 3

+0

본문에서는'$ Attachment.ContentId'를 참조하고 있지만 값을 지정하는 것을 보지 못했습니다. – LotPings

답변

1
$SendTo = "Sender Mail ID" 
$SMTPServer = "SMTP Server" 
$EmailFrom = “Reciever Mail ID” 
$EmailSubject = “Email including images in HTML” 
$Image = "Image File" 
$Message = new-object Net.Mail.MailMessage 
Add-PSSnapin Microsoft.Exchange.Management.Powershell.Admin -erroraction silentlyContinue 
$att = new-object Net.Mail.Attachment($Image) 
$att.ContentId = "att" 
$smtp = new-object Net.Mail.SmtpClient($smtpServer) 
$body = '<img src="cid:att" />' 
$Message.From = $EmailFrom 
$Message.To.Add($SendTo) 
$Message.Subject = $EmailSubject 
$Message.Body = $body 
$Message.IsBodyHTML = $true 
$Message.Attachments.Add($att) 
$smtp.Send($Message) 
$att.Dispose() 

희망이 HEpls을 사용하고 있습니다.

+0

IMO'$ mailmessage.Attachments.Add ($ att1)''$ mailmessage = New-Object system.net.mail.mailmessage' 앞에 두지 마라. – LotPings

+0

@lotpings 수정 해 주셔서 감사합니다. – Venkatakrishnan

+0

신체. ''은 내가 몸에 넣었을 때 여전히 작동하지 않습니다. 감사합니다 – Mike