放列表

问题描述:

我已经看了到这些问题:放列表

How do I set up mailto for bcc only

how to open outlook on click of email hyperlink

,但他们不回答我的问题是因为我试图做的是打开默认的电子邮件客户端(通常是Outlook,但也可能是gmail,因此它必须与两者一起工作)与目的地列表,所有这些应该被视为密件抄送。我不能把它们一一列出,因为列表不断变化

注意:此项目是在asp.net mvc 5中创建的,并且该模型包含我要发送到的目标列表并且有一个名为Email的字段(我只把页面的相关代码)和垃圾邮件将不会是一个问题,因为只有管理员可以使用此链接(我知道Mailto可能有时被垃圾邮件发送者滥用)

这是我试过的一个例子但我只是无法弄清楚如何在将字符串放入标签之前正确地格式化字符串。所以如果有比这更好的方法,我不介意修改逻辑。

@model List<Inscription> 
string Destinations= "mailto:?bcc="; 
foreach (var Inscription in Model.ToList()) 
{ 
    Destinations = Destinations + Inscription.Email + ","; 
} 


<a class="btn btn-default" href="@Destinations">Send Email to all</a> 

它只是这么想的看到他们都在Outlook和那些我没有看到有任何电子邮件(我测试多时间)

Im相当肯定它只是一个格式什么的样的错误在我的部分,但我只是不能看到它

+0

您可能是出于运气 - 根据[此答案](https://*.com/a/29706311/791010)和它下面的评论,Outlook需要';'作为隔板,而gmail使用','。您可能必须选择一个而不支持其他。更健壮的方法可能是处理从服务器端代码发送的电子邮件? –

+0

您是否记录过模型以确保它具有您期望的所有值?尝试用分号替换逗号,即:“;”。 – lancew

+0

@JamesThorpe你是对的我把它改成了“;”它在那种情况下工作,只是打开一个模式,并询问用户他们正在使用哪个电子邮件客户端:) –

正如@詹姆斯索普所说的前景需要一个“;”分离的邮件而Gmail的需要“”因此,而不是仅仅有一个简单的按钮,它会打开一个模式,这将要求客户,如果他们使用的是Outlook或Gmail

这里是我会做的:

@model List<Inscription> 
string DestinationsGmail= "mailto:?bcc="; 
string DestinationsOutlook= "mailto:?bcc="; 
foreach (var Inscription in Model.ToList()) 
{ 
DestinationsGmail = DestinationsGmail + Inscription.Email + ","; 
    DestinationsGmail = DestinationsOutlook + Inscription.Email + ";"; 
} 

<a id="OpenModel" class="btn btn-default" data-target="#basicmodal" data-toggle="modal">Choice of Email Sender</a> 

<div class="modal fade" id="basicmodal" tabindex="-1" role="dialog" aria-hidden="true" style="display: none;"> 
<div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button> 
      <h4 class="modal-title">Which client to use</h4> 
     </div> 
     <div class="modal-body"> 
      the links are going to open your default Email Client so choose the one you have : 

      <a class="btn btn-default" href="@DestinationsGmail">Send Email to all with gmail</a> 
      <a class="btn btn-default" href="@DestinationsOutlook">Send Email to all with outlook</a> 
     </div> 
     <div class="modal-footer">    
     </div> 
    </div> 
</div>