日期:2014-05-17  浏览次数:20832 次

关于SmtpClient发送邮件时发件人邮箱地址的问题
我在使用SmtpClient发送邮件时,smtp服务器我使用的是smtp.gmail.com,在发送邮件的表单中,我设计了“您的邮箱、邮件主题、邮件内容”,我希望邮件发送给收件人后,收件人看到的发件人地址,是当时表单中输入的“您的邮箱”,但现在实际的效果是邮件能顺利发出,但收件人邮箱中看到的,全都是我那个gmail邮箱。这个怎么解决啊,请教大家!
附代码如下:

            SmtpClient client = new SmtpClient("smtp.gmail.com", 25);
            MailMessage msg =
            new MailMessage(SenderMail.Text, "aaa@qq.com", Subject.Text, Content.Text);
            client.UseDefaultCredentials = false;
            System.Net.NetworkCredential basicAuthenticationInfo =
            new System.Net.NetworkCredential("mygmailaccount", "1234567890");
            client.Credentials = basicAuthenticationInfo;
            client.EnableSsl = true;
            client.Send(msg);

            SenderMail.Text = "";
            Subject.Text = "";
            Content.Text = "";
            Functions.msgbox("发送成功!");

上面的代码中SenderMail.Text就是表单中的“您的邮箱”,我希望收件人收到的邮件中看到的发件人是这个地址。
S

------解决方案--------------------

System.Net.NetworkCredential basicAuthenticationInfo = 
new System.Net.NetworkCredential("mygmailaccount", "1234567890");

发送邮件的只会是这个邮箱
不能转换为你自定义的
发送邮件总要用账号跟密码吧, 如果让你随便填了个账号就能用这个账号地址作为发送方的话
伪造邮件就泛滥了
------解决方案--------------------
引用:

System.Net.NetworkCredential basicAuthenticationInfo = 
new System.Net.NetworkCredential("mygmailaccount", "1234567890");

发送邮件的只会是这个邮箱
不能转换为你自定义的
发送邮件总要用账号跟密码吧, 如果让你随便填了个账号就能用这个账号地址作为发送方的话
伪造邮件就泛滥了

+1