2011-08-19 125 views
0

ActionMailer.NET을 사용하여 ASP.NET MVC 응용 프로그램에서 일부 전자 메일을 보냅니다.텍스트 및 HTML 이메일 보내기 - Gmail이 항상 텍스트 버전을 선택하는 이유는 무엇입니까?

이제이 프로세스의 일부로 텍스트 전용 클라이언트를 지원하기 위해 HTML 텍스트 버전의 메시지를 보냈습니다.

하지만 내가보고있는 것은 GMail이 인 경우 항상 텍스트 버전을 선택한다는 것입니다.

나는 야후를 시도했고, 야후는 HTML 버전을 정확하게 고르고있다.

내 HTML을 <h1><span> 태그로 무작정 시도했지만 Gmail의 텍스트 버전이 여전히 선택되었습니다. 즉, HTML 콘텐츠에 문제가 없음을 의미합니다.

이 예상되는 동작입니까?

에만 HTML 버전을 보내면 Gmail에 HTML 버전이 올바르게 표시됩니다.

나는 다음과 같이 HTML의 메타 태그를 설정 한 :

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

다른 사람이이 문제가 발생하고 있으며, 해결책을 찾았나요?

만 HTML 버전으로 보내야합니다. 따라서 GMail에서 너무 많은 고객이 Gmail을 사용하기 때문에 Gmail에서 렌더링하게 될 것입니다.

여기에 내가 보내려고 기본적인 HTML의 예 :

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
     <title></title> 
    </head> 
    <body> 
     <h1>This is the heading</h1> 
     <span>This is some text.</span> 
    </body> 
</html> 

그리고 Gmail은 심지어는 허용하지 않습니다.

답변

0

내가 제일 먼저 확인해야 할 것은 ActionMailer.NET 문제입니다.

나는 인터넷 검색을했고, 그 사이트가 올라 오지 않았습니다.

이 문제는 2 일 전에 고쳐 졌으므로 최신 패키지를 받으면 문제가 해결됩니다.

https://bitbucket.org/swaj/actionmailer.net/issue/23/multipart-mail-problem

그 문제가 실제로 썬더 버드에 관한하지만 Gmail을 생각했다가 다중 이메일을 처리하는 비슷한 방법이있다.

문제가 해결되었습니다.

1

대부분의 웹 기반 클라이언트 및 데스크톱 전자 메일 클라이언트는 전자 메일의 <head> 태그의 내용을 무시합니다.

HTML 버전과 텍스트 버전을 모두 보내려면 메일 메시지를 올바르게 구성해야합니다. 두 개의 MIME 덩어리가 있어야합니다.

전자 메일을 작성하는 데 사용하는 전체 코드를 표시하십시오.

+0

ActionMailer.NET 내장 코드에 모두 포함되어 있기 때문에 헤더 등을 설정하지 않습니다. 왜 야후가 작동하는지, Gmail은 그렇지 않은지 궁금합니다. 같은 메시지. – RPM1984

+0

MailMessage 개체를 만들 때 MailMessage.AlternateViews 속성을 사용하십시오. http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.alternateviews.aspx –

+0

nevermind, 문제를 발견했습니다. , 위의 내 대답을 참조하십시오. 어쨌든 도와 주셔서 감사합니다 (+1). – RPM1984