loadrunner发送邮件时附件参数化
参考:http://www.51testing.com/index.php?uid-117865-action-viewspace-itemid-132817
Action()
{
smtp1 = 0;
smtp_logon_ex(&smtp1, "SmtpLogon",
"URL=smtp://192.168.146.68",
"LogonUser=spam1@spamtest.com",
"LogonPass=123456",
"CommonName=LoadRunner User",
LAST);
smtp_translate_ex(&smtp1,"ori.txt",
"Content-Type: application/octet-stream;\n name=\"base64_ori.txt\"\nContent-Transfer-Encoding: base64\nContent-Disposition: attachment;\n filename=\"base64_ori.txt\"\r\n",
BASE64_ENCODED,
"base64_ori.txt");
//要参数化附件时,只要参数化ori.txt就可以;
//ori.txt要放到保存脚本的目录下,base64_ori.txt是进行BASE64编码后自动生成的文件;
smtp_send_mail_ex(&smtp1, "SendMail",
"To=spam1@spamtest.com",
"From=spam1@spamtest.com",
"Subject==?gb2312?B?bWFpbHRlc3TTyrz+suLK1NbQ?=",
"ContentType=multipart/mixed;",
MAILOPTIONS,
"X-mailer: Foxmail 6, 15, 201, 22 [cn]",
MAILDATA,
"AttachRawFile=mailnote1_01.dat",
//"AttachRawFile=mailnote1_02.dat",
"AttachRawFile=base64_ori.txt",
LAST);
smtp_logout_ex(&smtp1);
smtp_free_ex(&smtp1);
return 0;
}
说明:
1、AttachRawFile=mailnote1_02.dat;
mailnote1_02.dat这个是存放邮件附件经过BASE64编码后生成的文件;
在这个文件中,header部份有:
Content-Type: application/octet-stream;
name="ori.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="ori.txt"
这些是附件的header信息;表明附件名,传输编码等;
2、intsmtp_translate_ex (SMTP *ppsmtp,char *filename, char *content_header, ENCODING_TYPEencoding, char *output_filename);
这个函数表示,把filename文件经过ENCODING_TYPE编码后,加上content_header头部信息,生成output_filename文件;
打开output_filename文件,会发现里面的信息和mailnote1_02.dat这个附件文件保存的信息一样;
3、在脚本目录下,一定要把filename放进去,不然,发送的邮件,附件会变成空;