2016-12-13 14 views
8

私はインテントを使用して、アプリケーションからAndroidでGmailを使用してHTML形式のメールを送信してきました。うまくいきましたが、現在はGmailの作成画面でも書式設定が表示されません。もう一度Gmailのアプリに別のバグがありますか?インテントを使用してGmail 6.11.6でHTMLメールを送信

注:私はこれらの質問を通じて出回っ bug in gmail 4.something を行っているbroken gmail intents

私のコードは、この

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType(HTML_TEXT); 
String htmlContentInStringFormat = createHtmlforEmail(context, name, channelLink); 
if (htmlContentInStringFormat != null) { 
    intent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(htmlContentInStringFormat)); 
    } 
intent.putExtra(Intent.EXTRA_SUBJECT, name); 

ノート2のようになります。があるので、それは以前に罰金働いていましたhtmlで間違っていることに気付く。

私のHTMLはこの

<div align="center"> 
<font size="5" color="#D0021B" face="Helvetica, Arial, sans-serif">CHARE</font> 
<p><font size="3" color="black" face="Helvetica, Arial, sans-serif">Dear Receiver,</font></p><p><font size="3" color="black" face="Helvetica, Arial, sans-serif">The sender of this email wants to invite you to this CHARE channel %1$s. Please click the subscribe button below to subscribe the channel.</font> </p> <p><a href=%2$s><font size="5" color="#5188de" face="Helvetica, Arial, sans-serif">Subscribe</font></a> </p> <p><font size="3" color="black" face="Helvetica, Arial, sans-serif">More information is available under</font></br><a href="www.chare.one"><font size="3" color="#5188de" face="Helvetica, Arial, sans-serif">www.chare.one</font></a></p></div> 

のように見える私はまた

"Hello, here is some <b>bold text</b> some <u>underline text</u> and <a href=\"http://www.google.com\">a link</a>." 

以下の通りであるが、Gmailはまだ整形を設定していないHTMLの非常に単純なバージョンを試してみました。 誰かが私を正しい方向に向けると素晴らしいことでしょう。

いくつかの選択肢に関する提案が歓迎されます。

+0

修正プログラムを見つけましたか? Gmail v6.11.2と7.1.129でコードを含む一般的な「インテント経由のHTMLメール送信」ソリューションを使用して同じ問題が発生しています。 – rustyWhitefeather

+1

Gmailがこの機能を削除したと思います。 – SAIR

+0

電子メールをGmailでプレーンテキストではなくHTMLとして表示していますか? –

答えて

0

私はそれがあなたを助けることができるか分からない、私はちょうど1週間前にJava Webアプリケーションで作った。

private JavaMailSender mailSender; 

public void sendEmail(final userDTO dto, String pathFile) { 
    MimeMessage message = mailSender.createMimeMessage(); 
    MimeMessageHelper helper; 
    try { 
     helper = new MimeMessageHelper(message); 
     helper.setTo(dto.getEmail()); 
     helper.setFrom(the_email_you_want_to_show); 
     helper.setText(loadTemplate(pathFile), true); 
    } catch (MessagingException e) { 
     e.printStackTrace(); 
    } 
    try{ 
     mailSender.send(message); 
    } catch(Exception e){ 
     e.printStackTrace(); 
    } 
} 

そして私は、テンプレートを読み込むために、このメソッドを使用します:ここに私の方法がある

public String loadTemplate(String pathFile){ 
    Document doc = null; 
    DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); 
    domFactory.setNamespaceAware(true); 
    DocumentBuilder docBuilder = null; 
    StringBuilder sb = new StringBuilder(); 
    try { 
     docBuilder = domFactory.newDocumentBuilder(); 
     doc = docBuilder.parse(EmailSender.class.getResourceAsStream(pathFile), "UTF-8"); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    try(StringWriter sw = new StringWriter()){ 
     Source xmlSource = new DOMSource(doc); 
     TransformerFactory.newInstance().newTransformer().transform(xmlSource, new StreamResult(sw)); 
     sb.append(sw.toString()); 
    } catch(Exception e){ 
     e.printStackTrace(); 
    } 
    return sb.toString().trim(); 
} 

は、あなたのSMTP設定を設定することを忘れないでください。私のアプリで私は豆を使用し、スプリングを使用していますが、これらのプロパティ

org.springframework.mail.javamail.JavaMailSenderImpl 
    host="smtp.gmail.com" 
    port="587" 
    username="[email protected]" 
    password="yourPassword" 
    javaMailProperties 
     props 
      prop key="mail.transport.protocol">smtp</prop> 
      prop key="mail.smtp.auth">true</prop> 
      prop key="mail.smtp.starttls.enable">true</prop> 
     props 

この最後の部分は明らかではないが、それは春のBean構成だ場合はごめんなさいとJavaMailSenderを移入する必要があります。 Javaでこれらのプロパティを手動で設定する必要があります(mailSender.set ...)。 あなたはgmailアカウントの設定をしたと仮定しますが、適切な設定がなければうまくいきませんが、すでにメールを送っていると言っても大丈夫だと思います。あなたが役に立たないコードを見つけたら、私は元のコードを素早く修正しました。

+0

ご返信ありがとうございますが、問題はAndroidアプリとGmailアプリの繰り返しに厳密に関連しています。 – SAIR

関連する問題