DNN5自带邮件群发功能及注册邮件认证功能,但是我们所收到的邮箱收件人一栏默认都是邮箱地址@前面的部分。如taoteltaotel@gmail.com.用这个邮箱作为DNN的发件邮箱,我们收到邮件后,在发件人一栏就会显示taoteltaotel.但是,我们看到一些公司和网站都是把收件人一栏修改成自己网站的名称或者其它具有品牌意义的词,比如www.taobao.com发来的邮件,在我们的163邮箱里的收件人一栏会显示“淘宝网”而不是"taobao"之类。那么DNN5是如何发送邮件?我们能不能也把收件人一栏换成我们想要显示的名称呢?答案是肯定的。
下载DotNetNuke_Community_05.01.04_Source (源码版),在VS打开项目,找到Services\Mail目录,打开Mail.vb,将第249行
objMail = New System.Net.Mail.MailMessage(MailFrom, MailTo)
修改成如下
objMail = New System.Net.Mail.MailMessage(New MailAddress(MailFrom, "淘客栈"), New MailAddress(MailTo))
重新生成Liaray,将DotNetNuke.dll上传到服务器的bin目录。再用Host帐户登录,到NewsLetter里群发邮件试试,看看163邮箱里的收件人显示名是不是变成了“淘客栈”?对比2次发送的邮件,是不是感觉设置了DisplayName之后,邮件显得正规多了呢?