> 백엔드 개발 > C++ > 내 인라인 이메일 이미지가 그림 대신 빨간색 'X'로 표시되는 이유는 무엇입니까?

내 인라인 이메일 이미지가 그림 대신 빨간색 'X'로 표시되는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-25 01:36:10
원래의
968명이 탐색했습니다.

Why is My Inline Email Image Showing as a Red 'X' Instead of the Picture?

이메일 본문의 인라인 이미지가 빨간색 'X'로 표시되는 문제 해결

첨부 파일이 아닌 이메일 본문에 이미지를 삽입하면 이메일의 시각적 효과와 사용자 참여도가 크게 향상될 수 있습니다. 하지만 인라인 이미지가 의도한 내용이 아닌 빨간색 'X'로 나타나는 것을 보면 답답합니다.

문제 설명

에서 제공하는 코드는 LinkedResource을 사용하여 인라인 이미지를 삽입하려고 시도했지만 결과는 이미지가 첨부 파일이고 인라인 부분이 누락되거나 빨간색 십자가로 표시되는 것으로 나타납니다.

솔루션

이메일 본문에 이미지를 삽입하는 효과적인 방법은 아래 업데이트된 코드와 같이 AlternateViewLinkedResource 클래스를 사용하는 것입니다.

<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿