件送
看了一些人的有送件的介,(http://blog.csdn.net/FuWaer/archive/2007/06/06/1640218.aspx就是一篇)都提到System.Web.Mail.SmtpMail.SmtpServer是From的Smtp的服器名或IP。但是今天做件送(送人的)的候碰到了疑惑,故教大家。(其以前有注意。因以前都是做人送我的)。有我就做了如下:
private void SendMail()
{
//送成功
MailMessage objMail = new MailMessage();
objMail.From = "113605767@qq.com";
objMail.To= "ym_rd05@f-net.com.tw";
objMail.Subject = "!";
objMail.BodyFormat = MailFormat.Text;
objMail.Body = "容";
System.Web.Mail.SmtpMail.SmtpServer="220.130.130.***";
System.Web.Mail.SmtpMail.Send(objMail);
}
我能成功,ym_rd05@f-net.com.tw能收到件。
后我在代里面添加了三
objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "ym_rd05@f-net.com.tw");
objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "****"); //密填什么都所。
照成功。
接著我了另一程序,如下:
private void SendMail1()
{
//送失
MailMessage objMail = new MailMessage();
objMail.From = "ym_rd05@f-net.com.tw";
objMail.To = "113605767@qq.com";
objMail.Subject = "!";
objMail.BodyFormat = MailFormat.Text;
objMail.Body = "";
System.Web.Mail.SmtpMail.SmtpServer="smtp.qq.com";
objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "113605767@qq.com");
objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "****");
System.Web.Mail.SmtpMail.Send(objMail);
}
靠。。送失。
(其我做了很多似的。我就不出的,么多大家看得明白吧。)
在的是:
我如果置,可以使的113605767@qq.com收到ym_rd05@f-net.com.tw送的件。
如果不入用名和密的。又如何置呢?
有就是以上的第一好像和上的一料不相合。能什么不?
[解决办法]
看不懂你的意思,给你段代码
private void SendMyMail()
{
string Accessory = ""; //附件
string SendTos = ""; //发送人
string CcTos = "asasd@sina.com,dsa_asd@163.com"; //抄送人
string[] Receiver = System.Text.RegularExpressions.Regex.Split(CcTos, ","); //总收件人
string FromMail = "" ; //发件人
string Title = ""; //邮件主题
string Body = ""; //邮件主体
string ShowName=""; //显示名字
string Host = ""; //邮件服务器
string EmailPwd = ""; //发件人邮箱密码
if (SendTos != "" || CcTos != "")
{
//用户名(取发送邮箱的@前面的部分,即ustbwuyi1
string MailUserName = FromMail.Substring(0, FromMail.IndexOf("@"));
//密码
string MailPassword = EmailPwd;//发件人邮箱密码
MailMessage mailmessage = new MailMessage();
MailAddress n = new MailAddress(FromMail);
mailmessage.From = n;
mailmessage.Subject = Title;
mailmessage.IsBodyHtml = true;
mailmessage.Body = Body;
//添加附件
ArrayList FileNames = new ArrayList();
FileNames.Add(@Accessory);//附件地址
//如果存在附件
if (FileNames.Count >= 1)
{
//添加附件
string Filename;
for (int k = 0; k < FileNames.Count; k++)
{
Filename = FileNames[k].ToString();
mailmessage.Attachments.Add(new Attachment(Filename));
}
}
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
client.Host = Host;
client.Credentials = new System.Net.NetworkCredential(MailUserName, MailPassword);
//向收件人和抄送人循环发送
for (int j = 0; j < Receiver.Length; j++)
{
mailmessage.To.Add(Receiver[j].ToString());
try
{
client.Send(mailmessage);
Response.Write("<script language='javascript'>alert('用户:" + Receiver[j] + "邮件发送成功')</script>");
//System.Web.Mail.SmtpMail.Send(mailmessage);
}
catch (Exception ex)
{
Response.Write("<script language='javascript'>alert('用户:"+Receiver[j]+"邮件发送失败:" + ex.Message + "')</script>");
}
}
}
[解决办法]
System.Web.Mail.SmtpMail.SmtpServer 必须是发送方的SmtpServer
[解决办法]
邮件服务器SMTP设置成不需要身份认证自然谁都可以发啦
[解决办法]
应该是邮件服务器设置的问题,不是程序的问题
[解决办法]
System.Web.Mail.SmtpMail.SmtpServer如果是公共的邮件服务器的话应该是只能用发送方的,如果用自己的服务器的话可以自己设置就无所谓了