当前位置:编程学习 > C#/ASP.NET >>

发送邮件,自定义邮件名

asp.net发送邮件

/// <summary>     
    /// 发送邮件     
    /// </summary>    
    /// <param name="to">接收方邮件地址</param>     
    /// <param name="title">邮件标题</param>      
    /// <param name="content">邮件正文内容</param>     
    /// <returns></returns>    
    /// <author>lirenjucn</author>    
    /// <date>2007-04-10</date>
    static bool sendMail(string to, string title, string content)
    {
        string strHost = "smtp.163.com";   //STMP服务器地址      
        string strAccount = "lll530264114";       //SMTP服务帐号  
        string strPwd = "xxxxxxx";       //SMTP服务密码     
        string strFrom = "lll530264114@163.com";  //发送方邮件地址      
        SmtpClient _smtpClient = new SmtpClient();
        _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式      
        _smtpClient.Host = strHost; ;//指定SMTP服务器       
        _smtpClient.Credentials = new System.Net.NetworkCredential(strAccount, strPwd);//用户名和密码    
        MailMessage _mailMessage = new MailMessage(strFrom, to);
        _mailMessage.Subject = title;//主题         
        _mailMessage.Body = content;//内容        
        _mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码        
        _mailMessage.IsBodyHtml = true;//设置为HTML格式       
        _mailMessage.Priority = MailPriority.High;//优先级      
        try
        {
            _smtpClient.Send(_mailMessage);
            return true;
        }
        catch
        {
            return false;
        }
    }
 protected void Button1_Click(object sender, EventArgs e)
{
   sendMail("530264114@qq.com", "title","content");
}


接收邮件后显示为这样:

邮件的名字自动显示为发送邮件邮箱的名字:lll530264114 
现在我想自定义邮件的名字
自定义这里,应该怎样实现 --------------------编程问答--------------------

   static Boolean sendMail(String[] attachments, String Content)
        {

            String[] toList = recipientMail.Split(',');
            System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient();

            sc.Host = host;
            System.Net.Mail.MailMessage mms = new System.Net.Mail.MailMessage();
            if (string.IsNullOrEmpty(Content))
            {
                mms.Body = body;
            }
            else
            {
                mms.Body = Content;
            }
          
            mms.From = new System.Net.Mail.MailAddress(senderName, displayName);
            mms.Subject = subject;

            for (int i = 0; i <= toList.Length - 1; i++)
            {
                mms.To.Add(toList[i]);
            }
            for (int i = 0; i <= attachments.Length - 1; i++)
            {
                if (System.IO.File.Exists(attachments[i]))
                {
                    System.Net.Mail.Attachment data = new System.Net.Mail.Attachment(attachments[i], System.Net.Mime.MediaTypeNames.Application.Octet);
                    mms.Attachments.Add(data);
                }

            }
            mms.IsBodyHtml = true;
            sc.Credentials = new NetworkCredential(senderMail, mailPassword);

            try
            {
                sc.Send(mms);
            }
            catch (Exception ex)
            {
                throw ex;
            }


            return true;
        }
    }
--------------------编程问答--------------------
引用 1 楼 machong8183 的回复:
C# code
?



1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950

   static Boolean sendMail(String[] attachments, String Content)         {             ……

大哥,这是啥啊 --------------------编程问答--------------------
把那些你固定的数据变成参数,再调用的发送方法的时候传入参数就行了。
http://www.cnblogs.com/hymxtang/archive/2007/06/27/797247.html --------------------编程问答--------------------
引用 3 楼 fengyarongaa 的回复:
把那些你固定的数据变成参数,再调用的发送方法的时候传入参数就行了。
http://www.cnblogs.com/hymxtang/archive/2007/06/27/797247.html

版主,发送邮件我会,我只是想知道接收邮件后,邮件的名字怎么自定义 --------------------编程问答--------------------
貌似没法自定义,除非邮件给你公开接口,就目前来看,没有邮箱产品有公开的借口提供给你操作 --------------------编程问答-------------------- 去163设置。。可以设置邮件名称.. --------------------编程问答--------------------
--------------------编程问答-------------------- Jmail

    message.From.FullName = "蒙爱网" --------------------编程问答--------------------
引用 7 楼 yumen3501 的回复:

这个试过了,在163网站上发邮件可以显示自定义的名称,但是用代码发邮件,即使用来发邮件的邮箱已经设置这个,用代码发还是显示邮箱的名 --------------------编程问答--------------------
引用 8 楼 huayy 的回复:
Jmail

    message.From.FullName = "蒙爱网"

这是另一个发邮件的组件么?没用过 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 9 楼 liangtianheng 的回复:
引用 7 楼 yumen3501 的回复:
这个试过了,在163网站上发邮件可以显示自定义的名称,但是用代码发邮件,即使用来发邮件的邮箱已经设置这个,用代码发还是显示邮箱的名


用sqlserver的吧。 mailsend 。 可以自定义. 记得是在哪个系统表里。 之前做过 。可以自定义发送名 --------------------编程问答--------------------
引用 12 楼 yumen3501 的回复:
引用 9 楼 liangtianheng 的回复:
引用 7 楼 yumen3501 的回复:
这个试过了,在163网站上发邮件可以显示自定义的名称,但是用代码发邮件,即使用来发邮件的邮箱已经设置这个,用代码发还是显示邮箱的名

用sqlserver的吧。 mailsend 。 可以自定义. 记得是在哪个系统表里。 之前做过 。可以自定义发送名

sqlserver? mailsend有示例的代码么,要引用什么空间么,网上关于mailsend的太少了 --------------------编程问答--------------------
引用 13 楼 liangtianheng 的回复:
引用 12 楼 yumen3501 的回复:引用 9 楼 liangtianheng 的回复:
引用 7 楼 yumen3501 的回复:
这个试过了,在163网站上发邮件可以显示自定义的名称,但是用代码发邮件,即使用来发邮件的邮箱已经设置这个,用代码发还是显示邮箱的名

用sqlserver的吧。 mailsend 。 可以自定义. 记得是在哪个系统表里。 之前……

这是sqlserver 自带的系统函数 。  


set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[User_Activation_Mail]
@Mail varchar(50),
@ActivationCode varchar(50)
AS
BEGIN
Declare @content nvarchar(max)

set @content='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

Exec msdb.dbo.sp_send_dbmail 
    @profile_name='sssssss',
    @recipients=@Mail,
    @subject='[xxxxxxxx]账户激活通知!',
    @body=@content
END

--------------------编程问答-------------------- --------------------编程问答-------------------- 难道我贴的代码你是看不懂呢还是没看呢?
页面上显示的没问题吧


   mms.From = new System.Net.Mail.MailAddress(senderName, displayName);

这里就是设置想显示的名字
senderName:比如可以123@123
displayName:比如世界末日
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,