我在发送包含锚标签的模板的电子邮件时遇到问题,href设置在发送之前动态设置。这是我替换占位符的代码。
campaigns = model.get_campaigns_data(self.mysql_db)
yesterday_data = model.get_yesterday_data(self.mysql_db, yesterday)
try:
for campaign in campaigns:
missing = filter(lambda c: c["campaign_id"] == str(campaign["campaign_id"]), yesterday_data)
if not missing:
pass
else:
campaign["yesterday_spend"] = missing[0]["cost"]
campaign["yesterday_revenue"] = missing[0]["revenue"]
HTML模板
private string PopulateBody(string userName, string title, string url, string description)
{
string body = string.Empty;
using (StreamReader reader = new StreamReader(Server.MapPath("~/EmailTemplate.htm")))
{
body = reader.ReadToEnd();
}
body = body.Replace("[UserName]", userName);
body = body.Replace("[Title]", title);
body = body.Replace("[Url]", url);
body = body.Replace("[Description]", description);
return body;
}
内容替换代码
<td style="width:85px;text-align:center;margin:0;padding:0;" width="85" align="center">
<a href="{{feedback1}}" target="_blank" rel="noopener noreferrer" style="text-decoration:none;">
<img src="{{Stars}}" alt="1 star" style="max-width:60px" border="0" />
</a>
</td>
<td style="width:85px;text-align:center;margin:0;padding:0;" width="85" align="center">
<a href="{{feedback2}}" target="_blank" rel="noopener noreferrer" style="text-decoration:none;">
<img src="{{Stars}}" alt="2 star" style="max-width:60px" border="0" />
</a>
</td>
<td style="width:85px;text-align:center;margin:0;padding:0;" width="85" align="center">
<a href="{{feedback3}}" target="_blank" rel="noopener noreferrer" style="text-decoration:none;">
<img src="{{Stars}}" alt="3 star" style="max-width:60px" width="60" border="0" />
</a>
</td>
<td style="width:85px;text-align:center;margin:0;padding:0;" width="85" align="center">
<a href="{{feedback4}}" target="_blank" rel="noopener noreferrer" style="text-decoration:none;">
<img src="{{Stars}}" alt="4 star" style="max-width:60px" border="0" />
</a>
</td>
<td style="width:85px;text-align:center;margin:0;padding:0;" width="85" align="center">
<a href="{{feedback5}}" target="_blank" rel="noopener noreferrer" style="text-decoration:none;">
<img src="{{Stars}}" alt="5 star" style="max-width:60px" border="0" />
</a>
</td>
当有人访问该链接时,我已经在url action方法中放置了一些代码,即更改状态等。问题是,当自动发送电子邮件时,此链接会触发。我已经登录以查看发生了什么,但是一旦收到电子邮件并且正在调用该操作方法,该网址就会被点击。
需要帮助。
答案 0 :(得分:0)
我有类似的问题。
因此,最后我只用URL本身替换了定位标记。在电子邮件中呈现HTML时,URL就像一个链接一样工作。
代替
<a href="{{URL}}" target="_blank" rel="noopener noreferrer" style="text-decoration:none;">
可以使用
<p>{{URL}} </p>