1

我正在尝试使用 MFMailComposeViewControllerDelegate 生成和发送 HTML 邮件。

然而,在运行应用程序并打开邮件视图后,我看到了这个:

在此处输入图像描述

我的电子邮件实际正文的左右两侧都有过多的“灰色”空间。这是什么原因造成的?这是我的 HTML 或 obj-c 代码中的问题吗?

编辑:这里要求的是html,因为我认为我的问题出在此处是一个安全的赌注 - 特别是因为我从来没有写过它的任何一行并从在线服务中将它一起破解。任何帮助将不胜感激。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0085)file://localhost/Users/litemac/Documents/DamcoAppCoreData/DamcoAppCoreData/index.html -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title></title><style type="text/css">
/* Mobile-specific Styles */
@media only screen and (max-device-width: 480px) { 
table[class=w0], td[class=w0] { width: 0 !important; }
table[class=w10], td[class=w10], img[class=w10] { width:10px !important; }
table[class=w15], td[class=w15], img[class=w15] { width:5px !important; }
table[class=w30], td[class=w30], img[class=w30] { width:10px !important; }
table[class=w60], td[class=w60], img[class=w60] { width:10px !important; }
table[class=w125], td[class=w125], img[class=w125] { width:80px !important; }
table[class=w130], td[class=w130], img[class=w130] { width:55px !important; }
table[class=w140], td[class=w140], img[class=w140] { width:90px !important; }
table[class=w160], td[class=w160], img[class=w160] { width:180px !important; }
table[class=w170], td[class=w170], img[class=w170] { width:100px !important; }
table[class=w180], td[class=w180], img[class=w180] { width:80px !important; }
table[class=w195], td[class=w195], img[class=w195] { width:80px !important; }
table[class=w220], td[class=w220], img[class=w220] { width:80px !important; }
table[class=w240], td[class=w240], img[class=w240] { width:180px !important; }
table[class=w255], td[class=w255], img[class=w255] { width:185px !important; }
table[class=w275], td[class=w275], img[class=w275] { width:135px !important; }
table[class=w280], td[class=w280], img[class=w280] { width:135px !important; }
table[class=w300], td[class=w300], img[class=w300] { width:140px !important; }
table[class=w325], td[class=w325], img[class=w325] { width:95px !important; }
table[class=w360], td[class=w360], img[class=w360] { width:140px !important; }
table[class=w410], td[class=w410], img[class=w410] { width:180px !important; }
table[class=w470], td[class=w470], img[class=w470] { width:200px !important; }
table[class=w580], td[class=w580], img[class=w580] { width:280px !important; }
table[class=w640], td[class=w640], img[class=w640] { width:300px !important; }
table[class*=hide], td[class*=hide], img[class*=hide], p[class*=hide], span[class*=hide] { display:none !important; }
table[class=h0], td[class=h0] { height: 0 !important; }
p[class=footer-content-left] { text-align: center !important; }
#headline p { font-size: 30px !important; }
.article-content, #left-sidebar{ -webkit-text-size-adjust: 90% !important; -ms-text-size-adjust: 90% !important; }
.header-content, .footer-content-left {-webkit-text-size-adjust: 80% !important; -ms-text-size-adjust: 80% !important;}
img { height: auto; line-height: 100%;}
 } 
/* Client-specific Styles */
#outlook a { padding: 0; }  /* Force Outlook to provide a "view in browser" button. */
body { width: 100% !important; }
.ReadMsgBody { width: 100%; }
.ExternalClass { width: 100%; display:block !important; } /* Force Hotmail to display emails at full width */
/* Reset Styles */
/* Add 100px so mobile switch bar doesn't cover street address. */
body { background-color: #ececec; margin: 0; padding: 0; }
img { outline: none; text-decoration: none; display: block;}
br, strong br, b br, em br, i br { line-height:100%; }
h1, h2, h3, h4, h5, h6 { line-height: 100% !important; -webkit-font-smoothing: antialiased; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: blue !important; }
h1 a:active, h2 a:active,  h3 a:active, h4 a:active, h5 a:active, h6 a:active { color: red !important; }
/* Preferably not the same color as the normal header link color.  There is limited support for psuedo classes in email clients, this was added just for good measure. */
h1 a:visited, h2 a:visited,  h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited { color: purple !important; }
/* Preferably not the same color as the normal header link color. There is limited support for psuedo classes in email clients, this was added just for good measure. */  
table td, table tr { border-collapse: collapse; }
.yshortcuts, .yshortcuts a, .yshortcuts a:link,.yshortcuts a:visited, .yshortcuts a:hover, .yshortcuts a span {
color: black; text-decoration: none !important; border-bottom: none !important; background: none !important;
}   /* Body text color for the New Yahoo.  This example sets the font of Yahoo's Shortcuts to black. */
/* This most probably won't work in all email clients. Don't include <code _tmplitem="282" > blocks in email. */
code {
  white-space: normal;
  word-break: break-all;
}
#background-table { background-color: #ececec; }
/* Webkit Elements */
#top-bar { border-radius:6px 6px 0px 0px; -moz-border-radius: 6px 6px 0px 0px; -webkit-border-radius:6px 6px 0px 0px; -webkit-font-smoothing: antialiased; background-color: #043948; color: #e7cba3; }
#top-bar a { font-weight: bold; color: #e7cba3; text-decoration: none;}
#footer { border-radius:0px 0px 6px 6px; -moz-border-radius: 0px 0px 6px 6px; -webkit-border-radius:0px 0px 6px 6px; -webkit-font-smoothing: antialiased; }
/* Fonts and Content */
body, td { font-family: 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; }
.header-content, .footer-content-left, .footer-content-right { -webkit-text-size-adjust: none; -ms-text-size-adjust: none; }
/* Prevent Webkit and Windows Mobile platforms from changing default font sizes on header and footer. */
.header-content { font-size: 12px; color: #e7cba3; }
.header-content a { font-weight: bold; color: #e7cba3; text-decoration: none; }
#headline p { color: #e7cba3; font-family: 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 36px; text-align: center; margin-top:0px; margin-bottom:30px; }
#headline p a { color: #e7cba3; text-decoration: none; }
.article-title { font-size: 18px; line-height:24px; color: #9a9661; font-weight:bold; margin-top:0px; margin-bottom:18px; font-family: 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; }
.article-title a { color: #9a9661; text-decoration: none; }
.article-title.with-meta {margin-bottom: 0;}
.article-meta { font-size: 13px; line-height: 20px; color: #ccc; font-weight: bold; margin-top: 0;}
.article-content { font-size: 13px; line-height: 18px; color: #444444; margin-top: 0px; margin-bottom: 18px; font-family: 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; }
.article-content a { color: #00707b; font-weight:bold; text-decoration:none; }
.article-content img { max-width: 100% }
.article-content ol, .article-content ul { margin-top:0px; margin-bottom:18px; margin-left:19px; padding:0; }
.article-content li { font-size: 13px; line-height: 18px; color: #444444; }
.article-content li a { color: #00707b; text-decoration:underline; }
.article-content p {margin-bottom: 15px;}
.footer-content-left { font-size: 12px; line-height: 15px; color: #e2e2e2; margin-top: 0px; margin-bottom: 15px; }
.footer-content-left a { color: #e7cba3; font-weight: bold; text-decoration: none; }
.footer-content-right { font-size: 11px; line-height: 16px; color: #e2e2e2; margin-top: 0px; margin-bottom: 15px; }
.footer-content-right a { color: #e7cba3; font-weight: bold; text-decoration: none; }
#footer { background-color: #043948; color: #e2e2e2; }
#footer a { color: #e7cba3; text-decoration: none; font-weight: bold; }
#permission-reminder { white-space: normal; }
#street-address { color: #e7cba3; white-space: normal; }
</style>
<!--[if gte mso 9]>
<style _tmplitem="282" >
.article-content ol, .article-content ul {
   margin: 0 0 0 24px;
   padding: 0;
   list-style-position: inside;
}
</style>
<![endif]--></head><body><table width="100%" cellpadding="0" cellspacing="0" border="0" id="background-table">
    <tbody><tr>
        <td align="center" bgcolor="#ececec">
            <table class="w640" style="margin:0 10px;" width="640" cellpadding="0" cellspacing="0" border="0">
                <tbody><tr><td class="w640" width="640" height="20"></td></tr>

                <tr>
                    <td class="w640" width="640">
                        <table id="top-bar" class="w640" width="640" cellpadding="0" cellspacing="0" border="0" bgcolor="#FFFFFF">
    <tbody><tr>
        <td class="w15" width="15"></td>
        <td class="w325" width="350" valign="middle" align="left">
            <table class="w325" width="350" cellpadding="0" cellspacing="0" border="0">
                <tbody><tr><td class="w325" width="350" height="8"></td></tr>
            </tbody></table>
            <div class="header-content" align="right"><span class="hide">&nbsp;&nbsp;|&nbsp; <time lang="en">Damco Sales Visit</time> &nbsp;&nbsp;|&nbsp; <timestamp>12-12-2012</timestamp> &nbsp;&nbsp;|&nbsp; </span></div>
            <table class="w325" width="350" cellpadding="0" cellspacing="0" border="0">
                <tbody><tr><td class="w325" width="350" height="8"></td></tr>
            </tbody></table>
        </td>
        <td class="w30" width="10"></td>


    </tr>
</tbody></table>

                    </td>
                </tr>
                <tr>
                <td id="header" class="w640" width="640" align="center" bgcolor="#FFFFFF">

    <div align="left" style="text-align: left">

        <img id="customHeaderImage" label="Header Image" editable="true" width="144" src="Logo.png" class="w640" border="0" align="top" style="display: inline">

    </div>


</td>
                </tr>

                <tr id="customer-info-row"><td class="w640" width="640" height="30" bgcolor="#ffffff"></td></tr>
                <tr id="simple-content-row"><td class="w640" width="640" bgcolor="#ffffff">
    <table class="w640" width="640" cellpadding="0" cellspacing="0" border="0">
        <tbody><tr>
            <td class="w30" width="30"></td>
            <td class="w580" width="580">
                <repeater>
                    <layout label="Text only">
                        <div align="left" class="article-content">
                            <multiline label="Description">
                                Dear //CUSTOMER_NAME//,<br>
                                <br>
                                <br>
                                Thank you for a pleasant meeting. 
                                Please find below an overview of the products and services we discussed during our meeting 
                                and the notes to the products/services we agreed follow up on.<br>
                                <br>
                                //NOTE_TO_CUSTOMER//
                            </multiline>
                        </div>
                    </layout>
                    <hr>
                    <layout label="Two columns">
                        <table class="w580" width="580" cellpadding="0" cellspacing="0" border="0">
                            <tbody><tr>
                                <td class="w275" width="275" valign="top">
                                    <table class="w275" width="580" cellpadding="0" cellspacing="0" border="0">
                                        <tbody><tr>
                                            <td class="w275" width="275">
                                                <p align="left" class="article-title"><singleline label="Title">PREMIUM OFFERINGS</singleline></p>
                                                <div align="left" class="article-content">

                                                </div>
                                            </td>

                                            <td class="w275" width="30">

                                            <td class="w275" width="275">
                                                <p align="left" class="article-title"><singleline label="Title">NOTES</singleline></p>
                                                <div align="left" class="article-content">

                                                </div>
                                            </td>
                                        </tr>
                                        //PREMIUM_PLACEHOLDER//
                                    </tbody></table>
                                </td>


                            </tr>
                        </tbody></table>
                    </layout>                                              


                </repeater>

                <repeater>

                    <layout label="Text only">

                    </layout>
                    <layout label="Two columns">
                        <table class="w580" width="580" cellpadding="0" cellspacing="0" border="0">
                            <tbody><tr>
                                <td class="w275" width="275" valign="top">
                                    <table class="w275" width="580" cellpadding="0" cellspacing="0" border="0">
                                        <tbody>

                                            <tr>
                                                <td class="w275" width="275">
                                                    <p align="left" class="article-title"><singleline label="Title">SUPPLY CHAIN OFFERINGS</singleline></p>
                                                    <div align="left" class="article-content">
                                                    </div>
                                                </td>

                                                <td class="w275" width="30"></td>

                                                    <td class="w275" width="275">
                                                        <p align="left" class="article-title"><singleline label="Title">NOTES</singleline></p>
                                                        <div align="left" class="article-content">

                                                        </div>
                                                    </td>

                                            </tr>

                                            //SUPPLYCHAIN_PLACEHOLDER//

                                    </tbody></table>
                                </td>

                            </tr>
                        </tbody></table>
                    </layout>
                </repeater>
                <hr>

                <layout label="Text only">
                        <div align="left" class="article-content">
                            <multiline label="Description">
                                Best regards,<br>
                                <br>
                                //SALESPERSON_NAME//<br>
                                M:&emsp;//SALESPERSON_MOBILE//<br>
                                E:&emsp;//SALESPERSON_EMAIL//<br>
                                W:&emsp;<a href="http://dummypage.dk">http://www.dummy.com</a><br>
                            </multiline>
                        </div>
                    </layout>
            </td>
            <td class="w30" width="30"></td>
        </tr>
    </tbody></table>
</td></tr>
                <tr><td class="w640" width="640" height="15" bgcolor="#ffffff"></td></tr>

                <tr>
                <td class="w640" width="640">
    <table id="footer" class="w640" width="640" cellpadding="0" cellspacing="0" border="0" bgcolor="#043948">
        <tbody><tr><td class="w30" width="30"></td><td class="w580 h0" width="360" height="30"></td><td class="w0" width="60"></td><td class="w0" width="160"></td><td class="w30" width="30"></td></tr>
        <tr>
            <td class="w30" width="30"></td>
            <td class="w580" width="360" valign="top">
            <span class="hide"><p id="terms" align="left" class="footer-content-left"><span>More Text....</span><br>
<span></span><br>
<span><b>About Damco</b></span><br>
<span>Text....</span></p></span>

            </td>
                    </tr>
        <tr><td class="w30" width="30"></td><td class="w580 h0" width="360" height="15"></td>    <td class="w0" width="60"></td><td class="w0" width="160"></td><td class="w30" width="30">  </td></tr>
    </tbody></table>
    </td>
                </tr>
                <tr><td class="w640" width="640" height="60"></td></tr>
            </tbody></table>
        </td>
    </tr>
    </tbody></table>
    </body></html>
4

2 回答 2

0

您的问题出在 HTML 上。在 iOS 或 ObjectiveC 中你不会意外地做任何事情来导致这个问题。

从导致臃肿的编辑器中复制 HTML 是很诱人的(我曾因复制 MS Word 生成的 HTML 而感到内疚),但毫无疑问,它会因膨胀因素而付出代价,而且往往会导致不希望的副作用。重要的是,膨胀使得调试即使是简单的 HTML 问题也变得更加困难。

怎么样:与其从臃肿的 HTML 开始并削减以避免时髦的边距,为什么不从最小的 HTML 开始并添加您需要的内容以获得所需的外观?

无论哪种方式,您都可以(并且应该)在 HTML 编辑器(甚至浏览器)中测试您的 HTML,然后再将其插入 iOS 应用程序代码。如果您有 HTML 问题,请将其作为单独的问题发布在这里,有人会很快回答。祝你好运!

于 2012-11-04T21:03:27.713 回答
0

似乎这条线引起了我所有的问题;

body { width: 100% !important; }

删除它解决了我的问题。

于 2012-11-09T11:27:06.720 回答