【问题标题】:Style a mail send from C# form? [duplicate]样式化从 C# 表单发送的邮件? [复制]
【发布时间】:2013-12-04 13:06:29
【问题描述】:

我想设置从我网站的联系表中收到的邮件的样式。 现在它只是把所有东西都乱七八糟地发送出去,我希望它在一些表格中对齐漂亮,并带有标题等。

这是我的表格:

@if(ShowForm)
{

<div class="form">
    <h3>Find prisen </h3>
    <p>på din flytning ved at udfylde denne</p> 

   <form method="post">

   <div class="controls">        
                <input class="span12" type="text" id="fromdest" name="fromdest" value="@PostedFromdest" placeholder="Fra-flytningsadresse" required />
        </div>

        <div class="controls controls-row">        
                <input class="span4" type="text" id="zip" name="zip" value="@PostedZip" placeholder="Post nr" required />            
                <input class="span8" type="text" id="city" name="city" value="@PostedCity" placeholder="By" required />             
        </div>

                    <hr size="0,2">

           <div class="controls">        
                <input class="span12" type="text" id="todest" name="todest" value="@PostedTodest" placeholder="Flytter til adresse" required />            
        </div>

        <div class="controls controls-row">        
                <input class="span4" type="text" id="zipt" name="zipt" value="@PostedZipt" placeholder="Post nr" required />            
                <input class="span8" type="text" id="cityt" name="cityt" value="@PostedCityt" placeholder="By" required />            
            </div>
            <div class="controls controls-row">        
                <input class="span4" type="text" id="areal" name="areal" value="@PostedAreal" placeholder="Areal" required />            
                <select class="span8" name="furniture">
                <option value="Alm. Møblering">Alm. Møblering</option>
                <option value="Tæt Møbleret">Tæt Møbleret</option>
                <option value="Lidt Møbleret">Lidt Møbleret</option>
                </select>
        </div>

        <div class="controls controls-row">        
                <input class="span4" type="text" id="rum" name="rum" value="@PostedRum" placeholder="Rum" required />           
                <select class="span8" name="men">
                <option value="2 flyttemænd">2 flyttemænd</option>
                <option value="3 flyttemænd">3 flyttemænd</option>
                <option value="4 flyttemænd">4 flyttemænd</option>
                <option value="5 flyttemænd">5 flyttemænd</option>
                <option value="6 flyttemænd">6 flyttemænd</option>
                </select> 
        </div>
                    <hr size="0,2">

        <div class="controls">
                <input class="span12" type="text" id="name" name="name" value="@PostedName" placeholder="Dit navn" required />
            </div>            
            <div class="controls">
                <input class="span12" type="text" id="email" name="email" value="@PostedEmail" placeholder="Email adresse" required />
            </div>
        <div class="controls controls-row">
                <input class="span12" type="text" id="phone" name="phone" value="@PostedPhone" placeholder="Telefon nummer" required  />
            </div>
        <div class="controls">
                <label class="checkbox"><input type="checkbox" id="callme" name="callme"> Ring mig op</label>
        </div>

        <div class="controls">       
                <textarea class="span12" id="message" name="message" value="@PostedMessage" placeholder="Kommentar" required ></textarea>
        </div>
        <div class="controls center">                   
            <div class="span12">
                <input type="text" name="url" />           
                <input type="submit" value="Beregn min flyttepris" class="btn btn-primary" />
            </div>
        </div>        
    </form> 

    <script type="text/javascript">$('input[name="url"]').hide();</script>
</div>

}
</div>

当我发送消息时,我使用这行代码:

umbraco.library.SendMail(String.Concat("no-reply@", host), contactRecipent, contactSubject, bodyText, false);

bodyText 是表单的输入。

我在互联网上看到我可以尝试使用 html 设置邮件的样式,所以我创建了这个而不是 bodyText。

bodyText = @"<html>
                  <head><title>Henvendelse modtaget fra hjemmesiden</title></head>
                  <body>
      <table>
     <tr><td>Flytter fra:</td><td>'.PostedFromdest.','.PostedZip.''.PostedCity.'</td></tr>
     <tr><td>Flytter til:</td><td>'.PostedTodest.','.PostedZipt.''.PostedCityt.'</td></tr>
     <tr><td>Indretning:</td><td>'.PostedFurniture.'</td></tr>
     <tr><td>Antal rum:</td><td>'.PostedRum.'</td></tr>
     <tr><td>Bemanding:</td><td>'.PostedMen.'</td></tr>
     <tr><td>Navn:</td><td>'.PostedName.'</td></tr>
     <tr><td>Email:</td><td>'.PostedEmail.'</td></tr>
     <tr><td>Telefon:</td><td>'.PostedPhone.'</td></tr>
     <tr><td>Ringes op:</td><td>'.PostedCallme.'</td></tr>
     <tr><td>Kommentar:</td><td>'.PostedComment.'</td></tr>
      </table>
    </body>
    </html>"
         ;

但现在它只发送原始 html,而不对其进行格式化。

谁能帮帮我?

【问题讨论】:

  • 您认为umbraco.library.SendMail 中的最后一个bool 参数是什么?
  • 您提供false 作为umbraco.library.SendMail 的最后一个参数。那个参数是什么(我不知道 Umbraco)?如果是“以 HTML 格式发送”,则设置为 true。

标签: c# email umbraco styling


【解决方案1】:

您需要在调用SendMail 时指定您发送的是Html 格式的邮件。

umbraco.library.SendMail(
                          String.Concat("no-reply@", host), 
                          contactRecipent, 
                          contactSubject, 
                          bodyText, 
                          true             //<--- this should be true if you want to send html mail
                         );

Reference

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2016-01-12
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多