как вставить изображение в почтовый шаблон

Я пытаюсь использовать PasswordRecovery ASP.NET.

Все хорошо работает, однако я использую почтовый шаблон. В этой электронной почте я пытаюсь вставить изображение следующим образом:

<html xmlns="http://www.w3.org/1999/xhtml">

<body>

<img alt="blabla" src="/Images/blabla-logo.png" align="middle"/><br/><br/>
bla bla:<%Password%><br /><br />
</body>

</html>

Как я сказал, электронное письмо посылается прекрасное, но изображение не вставляется. Я попробовал: src = "~/Images/blabla-logo.png", но без успеха.

Идея кто-либо?

Большое спасибо, Assaf.

5
задан Daniel Dyson 13 July 2010 в 08:37
поделиться

2 ответа

попробуйте добавить тильду "~", id и runat="server". Тильда будет изменена на корневой путь только тогда, когда применяется runat="server". В противном случае код на стороне сервера не знает об этом элементе управления, не разбирает его и не применяет вставку пути

 <img alt="blabla" src="~/Images/blabla-logo.png" 
 align="middle" id="img" runat="server"/>
0
ответ дан 15 December 2019 в 06:13
поделиться

Вы можете использовать событие OnSendingMail для изменения вашего почтового сообщения. Предположим, что ваш шаблон выглядит так:

<html xmlns="http://www.w3.org/1999/xhtml">
  <body>
    <img alt="blabla" src="{0}" align="middle"/><br/><br/> 
    bla bla:<%Password%><br /><br /> 
  </body>
</html>

Ваша разметка PasswordRecovery должна выглядеть так:

<asp:PasswordRecovery ID="prPasswordRecovery" runat="server" OnSendingMail="prPasswordRecovery_SendingMail">
  <MailDefinition BodyFileName="~/passwordRecoveryEmailTemplate.txt" IsBodyHtml="true" Priority="High" Subject="bla bla"/>
</asp:PasswordRecovery>

Последнее, что нужно сделать, это написать метод prPasswordRecovery_SendingMail в коде сзади:

protected void prPasswordRecovery_SendingMail(object sender, MailMessageEventArgs e)
{
  e.Message.Body = String.Format(e.Message.Body, ResolveClientUrl("~/Images/blabla-logo.png"));
}

Это должно сработать.

0
ответ дан 15 December 2019 в 06:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: