怎么手动wp mail smtp测试失败IIS7 smtp邮件发送

SMTP协议--在cmd下利用命令行发送邮件
刚结束了计算机网络的课程,用到了SMTP协议发送邮件,在此总结发送过程如下。虽然这类的内容在网上数不胜数,此仅作为自己的学习记录,供对这方面还不是很了解的童鞋参考~~
--------------------------------------------------------------------------------------
&&&&先简单介绍下smtp
smtp使用命令和应答在客户与服务器之间传输报文。即客户发出一个命令,服务器返回一个应答。发送方与接收方进行一问一答的交互,由发送方控制这个对话。
在XP系统下点‘开始’-‘运行’,输入cmd,进入命令提示符窗口。
第一步,远程登录smtp服务器
在命令行窗口输入&telnet
smtp.163.com&25&&
(此处以163邮箱为例,QQ邮箱可输入smtp.qq.com
。25表示建立连接的端口号)
此时出现如上信息,这是一个欢迎信息,各个邮箱有所不同
第二步,用户登录
输入 helo 163.com&
回车,这是向服务器表明你的用户身份
(注意:此时的字母是不能输错的,因为你的每一次按键实际上已经被传送到服务器,所以输入错误时不能使用退格键删除,只能换行重新输入)
为服务器返回的确认信息,说明服务器认可了你的身份
输入 auth login&
回车,这是告诉服务器你要输入用户名了(即登录邮箱时的用户名),服务器将返回一个确认信息334 &&&&
这时就可以输入用户名了,注意这里的用户名需要编码后才能识别,即如果你的用户名是
那么你需要将fatbear进行 base64
编码,将编码结果输入命令提示符窗口。base64编码器可以在网上下到,是一个简单的小工具。
用户名输入成功后服务器返回一个334的确认信息。
用户名输入成功后,接着输入密码,密码同样是需经过 base64
编码后再输入。输入成功后服务器返回一个含‘successful’的信息,说明成功登录。
第三步,写信
输入 mail from:& &
&&中填写发件人的邮箱,即你自己的邮箱名
输入 rcpt to:&
&&&&回车&&
&&中填入收件人的邮箱
输入 data 回车 ,回车后就可以开始写邮件内容了
下面是data下的可选项:
from:发件人名称&
,此项可任意填入,将显示在收件箱的‘发件人’一栏
输入 to:收件人名称&
,可任意填入,将显示在收件箱的‘收件人’一栏
输入 subject:信件主题&&
,显示在收件箱的‘主题’一栏中
此时需空一行,即在一空行直接回车,表示正文部分的开始
空行后输入信件的正文内容。
在正文输入结束时输入一个 .
(英文输入法下的句号)回车,表示正文部分的结束。这时将显示邮件成功发送的信息。
关于正文输入汉字的问题,
在该窗口下视无法输入汉字的,可以在写字板中打好汉字后复制粘贴进去,且粘贴时只能使用鼠标右键而不能用快捷键,至少我的不行。
----------------------------------------------------------------------------------
罗里吧嗦的写了一堆,不知旁人是否看得懂噻。。。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。先介绍一下邮件协议SMTP的工作机制(连接和发送过程),用wireshark工具抓包进行分析,如下:
SMTP协议的工作机制(连接和发送过程):
1.建立TCP连接,并将邮件服务器地址给客户端;
2.客户端发送EHLO命令以标识发件人自己的身份,然后客户端登录邮件服务器;
3.客户端先标示电子邮件的发件人发送MAIL命令,服务器端以OK作为响应,表明准备接收;
4.客户端发送RCPT 命令,以标识该电子邮件的计划接收人,可以有多个RCPT行,&服务器端以OK作为响应,表示愿意为收件人接收邮件;
5.客户端用命令DATA发送数据;
6.以.表示结束输入内容一起发送出去,服务器端并以OK作为响应;
7.客户端结束发送,用QUIT命令退出,服务器端以Bye作为响应,表示结束;
了解了邮件协议SMTP的工作机制后,下面开始进行性能测试:
一、先安装好邮件客户端FoxMail,被配置好邮件服务器等信息;
二、使用LoadRunner录制脚本
三、生成脚本,并优化脚本
Tasks目录:
接收邮件脚本:
发送邮件脚本:
脚本分析:
1)整体上的分析,接收邮件操作和发送邮件操作在Tasks目录分别生成一对.dat文件,打开.dat文件可以查看到附件的信息(附件类型、内容等);
2)接收邮件和发送邮件的脚本函数是一样的,邮件协议的工作过程是:登录到邮件服务器&发送消息&退出邮件服务器&释放邮件服务器;
3)脚本优化(参数化)
四、执行测试
1)在Contorller场景压力过程中,出现大量的报错,如图1:
查看日志,是由于用户多登陆时,session连接数已经满了,邮件服务器不允许重复登录。当连接数满的时候,需要清理一下。
2)在Contorller场景过程中,出现大量的报错,如图2,3:
这是由于邮件处理的原理是以队列的形式发送的,当多用户并发时,队列阻塞,发送请求和服务响应会出现大量报错信息,场景运行到12分30秒时响应时间没了,此时所有的用户已经处理完成。
3)启动LR录制时,工具先会判断邮件服务器和客户端之间的连接,是否有未接收的邮件显示(因邮件客户端设置不是时时接收邮件),录制日志如图4:
SMTP常用的响应
501&&参数格式错误
502&&命令不可实现
503&&错误的命令序列
504&&命令参数不可实现
211&&系统状态或系统帮助响应
214&&帮助信息
220&domain&&&服务器就绪
221&domain&&&服务关闭
421&domain&&&服务器未就绪,关闭传输信道
250&&要求的邮件操作完成
251&&用户非本地,将转发向&forward-path&
450&&要求的邮件操作未完成,邮箱不可用
550&&要求的邮件操作未完成,邮箱不可用
451&&放弃要求的操作,处理过程中出错
551&&用户非本地,请尝试&forward-path&
452&&系统存储不足,要求的操作未执行
552&&过量的存储分配,要求的操作未执行
553&&邮箱名不可用,要求的操作未执行
354&&开始邮件输入,以&.&结束
554&&操作失败
使用SMTP函数
smtp_logon[_ex]
登录到SMTP服务器
smtp_translate[_ex]
转换SMTP消息
smtp_send_mail[_ex]
发送SMTP消息
smtp_free[_ex]
释放SMTP服务器,使其不处理命令
smtp_logout[_ex]
从SMTP服务器注销
使用POP3函数
每个POP3函数都以pop3前缀开头
pop3_logon[_ex]
登录到POP3服务器
pop3_command[_ex]
想POP3服务器发送命令
pop3_retrieve[_ex]
检索POP3服务器上的邮件
pop3_list[_ex]
列出POP3服务器上的邮件
pop3_delete[_ex]
删除服务器上的邮件
pop3_free[_ex]
释放POP3服务器,使其不处理命令
pop3_logoff[_ex]
从POP3服务器注销
阅读(...) 评论()邮件发送是设置完了,开启了服务怎么测试还错_百度知道
邮件发送是设置完了,开启了服务怎么测试还错
我有更好的答案
登陆163邮箱查看是否开通了smtp服务,如果没有就开通下,认证密码不要填写163邮箱的登陆密码,填写开通SMTP服务时给的授权密码。
采纳率:60%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。关注51Testing
C#利用SMTP服务器发送邮件
发表于: 10:56 &作者:未知 & 来源:51Testing软件测试网采编
推荐标签:
  在命名空间using System.Net.Mail中提供方法根据指定的smtp服务器来发送邮件。下面说说如何实现:  1、首先要发送邮件,需要有一个邮箱帐号,比如网易邮箱、新浪邮箱、qq邮箱等,我以网易的163邮箱为例。然后我们需要知道163邮箱的smtp服务器地址:smtp.163.com。一般常用的Smtp服务器地址为:网易126:smtp.126.com网易163:smtp.163.com搜狐:smtp.sohu.com新浪:smtp.sina.com.cn雅虎:smtp.mail.yahoo.com  2、现在我们可以开始实现了。在新建的C# Console Application中,需要加入两个命名空间:  using System.Net.M& //新建邮件、发送邮件需要用到  using System.N&&&&&& //建立认证帐号需要用到  3、下面是发送邮件的函数:  string userPswd,&& //邮箱帐号密码  string toEmail,&&& //收件人邮箱  string mailServer, //邮件服务器  string subject,&&& //邮件标题  string mailBody,&& //邮件内容  string[] attachFiles //邮件附件  )  {  //邮箱帐号的登录名  string username = userEmail.Substring(0, userEmail.IndexOf());  //邮件发送者  MailAddress from = new MailAddress(userEmail);  //邮件接收者  MailAddress to = new MailAddress(toEmail);  MailMessage mailobj = new MailMessage(from, to);  //添加发送和抄送  // mailobj.To.Add(""); // mailobj.CC.Add("");  //邮件标题  mailobj.Subject =  //邮件内容  mailobj.Body = mailB  foreach (string attach in attachFiles)  {  mailobj.Attachments.Add(new Attachment(attach));  }  //邮件不是html格式  mailobj.IsBodyHtml =  //邮件编码格式  mailobj.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");  //邮件优先级  mailobj.Priority = MailPriority.H  //Initializes a new instance of the System.Net.Mail.SmtpClient class //that sends e-mail by using the specified SMTP .  SmtpClient smtp = new SmtpClient(mailServer);  //或者用:  //SmtpClient smtp = new SmtpClient();  //smtp.Host = mailS  //不使用默认凭据访问服务器  smtp.UseDefaultCredentials = smtp.Credentials = new NetworkCredential(username, userPswd);  //使用network发送到smtp服务器  smtp.DeliveryMethod = SmtpDeliveryMethod.N  try  {  //开始发送邮件  smtp.Send(mailobj);  }  catch (Exception e)  {  Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace);  }  }  4、好了,你也可以去试试给自己的应用程序加上发送邮件的功能了。
搜索风云榜
51Testing官方微信
51Testing官方微博
测试知识全知道smtp方式发送qq邮件 - 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 23时,
利用程序,给指定用户发送邮件。用于邮箱验证功能,密码找回功能,邮箱注册功能!
代码片段(2)
SMTPManager.cs&~&4KB&&&&
using RM.Common.DotNetC
using System.C
using System.N
using System.Net.M
using System.T
using System.IO;
namespace RM.Common.DotNetEamil
/// &summary&
/// 邮箱帮助类
/// &/summary&
public class SMTPManager
/// &summary&
/// 发送邮件
/// &/summary&
/// &param name="Dep_Email"&收件人邮箱格式:"收件人姓名1&&;收件人姓名2&&"&/param&
/// &param name="Mis_Name"&"邮件主题"&/param&
/// &param name="Mis_Describe"&邮件内容&/param&
/// &param name="File_Path"&附件名(含路径)&/param&
/// &param name="appendinfo"&对附件的说明&/param&
/// &returns&&/returns&
public static string MailSending(string Dep_Email, string Subject, string Mis_Describe, string FileName,string appendinfo="")
string MailUser = ConfigurationManager.AppSettings["MailUser"].ToString();//发件人的邮箱地址;如:
string MailName = ConfigurationManager.AppSettings["MailName"].ToString();//发件人名字
string MailHost = ConfigurationManager.AppSettings["MailHost"].ToString();//邮件服务器名字;qq的话,为:smtp.qq.com
string MailPwd = ConfigurationManager.AppSettings["MailPwd"].ToString();//为授权码(在qq邮箱首页里面开启smtp服务后,会生成授权码;
MailAddress from = new MailAddress(MailUser, MailName);
MailMessage mail = new MailMessage();
mail.Subject = S
mail.From =
string[] mailNames = (Dep_Email).Split(new char[]
string[] array = mailN
for (int i = 0; i & array.L i++)
string name = array[i];
if (name != string.Empty)
string displayN
if (name.IndexOf('&') & 0)
displayName = name.Substring(0, name.IndexOf('&'));
address = name.Substring(name.IndexOf('&') + 1).Replace('&', ' ');
displayName = string.E
address = name.Substring(name.IndexOf('&') + 1).Replace('&', ' ');
mail.To.Add(new MailAddress(address, displayName));
mail.Body = Mis_D
mail.BodyEncoding = Encoding.UTF8;
mail.IsBodyHtml =
mail.Priority = MailPriority.N
FileStream fs=
if (FileName != "")
fs = new FileStream(FileName, FileMode.Open, FileAccess.Read);//如果不使用文件流,资源无法被释放
mail.Attachments.Add(new Attachment(fs, appendinfo));
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnS
SmtpClient client = new SmtpClient();
client.Host = MailH
client.Port = 587;
client.UseDefaultCredentials =
client.EnableSsl =
client.Credentials = new NetworkCredential(MailUser, MailPwd);
client.DeliveryMethod = SmtpDeliveryMethod.N
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnF
client.Send(mail);
if(fs!=null)
fs.Close();//关闭流,以便其他操作能够打开该文件资源
catch (SmtpFailedRecipientException ex)
string msg = "";
msg += "=====================发送邮件失败============";
if (!string.IsNullOrEmpty(ex.FailedRecipient))
msg += "\r\n" +"失败邮箱:" +ex.FailedR
msg += "\r\n" + "Message:"+ex.M
msg += "\r\n" + "Source:" + ex.S
LogHelper log = new LogHelper("邮件日志");
log.WriteLog(msg);
return "失败啦!请查看日志!";
return mail.ToString();
2.&[图片] 他吞吞吐吐357.png&&&&
开源中国-程序员在线工具:
相关的代码(448)
0回/1152阅
开源从代码分享开始
我只是一只小小鸟的其它代码}

我要回帖

更多关于 linux 测试smtp 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信