이메일 본문의 인라인 이미지가 빨간색 'X'로 표시되는 문제 해결
첨부 파일이 아닌 이메일 본문에 이미지를 삽입하면 이메일의 시각적 효과와 사용자 참여도가 크게 향상될 수 있습니다. 하지만 인라인 이미지가 의도한 내용이 아닌 빨간색 'X'로 나타나는 것을 보면 답답합니다.
문제 설명
에서 제공하는 코드는 LinkedResource
을 사용하여 인라인 이미지를 삽입하려고 시도했지만 결과는 이미지가 첨부 파일이고 인라인 부분이 누락되거나 빨간색 십자가로 표시되는 것으로 나타납니다.
솔루션
이메일 본문에 이미지를 삽입하는 효과적인 방법은 아래 업데이트된 코드와 같이 AlternateView
및 LinkedResource
클래스를 사용하는 것입니다.
<code class="language-csharp">MailMessage mailWithImg = GetMailWithImg(); MySMTPClient.Send(mailWithImg); //* 请先设置好您的SMTPClient! private MailMessage GetMailWithImg() { MailMessage mail = new MailMessage(); mail.IsBodyHtml = true; mail.AlternateViews.Add(GetEmbeddedImage("c:/image.png")); mail.From = new MailAddress("yourAddress@yourDomain"); mail.To.Add("recipient@hisDomain"); mail.Subject = "yourSubject"; return mail; } private AlternateView GetEmbeddedImage(String filePath) { LinkedResource res = new LinkedResource(filePath); res.ContentId = Guid.NewGuid().ToString(); string htmlBody = $@""<img src='cid:{res.ContentId}'/>""; AlternateView alternateView = AlternateView.CreateAlternateViewFromString(htmlBody, null, MediaTypeNames.Text.Html); alternateView.LinkedResources.Add(res); return alternateView; }</code>
이 방법을 사용하면 메일 클라이언트가 자동으로 인라인 이미지를 로드하여 메일 본문에 표시하므로 빨간색 'X' 문제가 해결됩니다.
위 내용은 내 인라인 이메일 이미지가 그림 대신 빨간색 'X'로 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!