自动发邮件的脚本,邮箱自动发邮件

广告位招租
联系电话:13518188210

怎么设置自动发送邮件?

怎么设置自动发送邮件?

foxmail可以设置定时发送邮件。
1.
打开已经设置好的foxmail客户端,点击新建创建一个邮件,
点击右上角
”定时发送
按钮;
2.
出现定时发送设置选项,设置需要定时发送邮件的发送时间;
3.
设置好了之后,点击发送,邮件会自动保存到草稿箱里面,等待定时的时间即可自动发送邮件。

自动发邮件的脚本,邮箱自动发邮件

怎么做个自动发邮件

怎么做个自动发邮件

Outlook Express 设置 :(以中文版Outlook Express 6为例)
一、首先设置邮件帐号:打开Outlook Express后,单击菜单栏中的“工具”,然后选择“帐号”;
二、点击“邮件”标签,点击右侧的“添加”按钮,在弹出的菜单中选择“邮件”;
三、在弹出的对话框中,根据提示,输入您的“显示名”,然后点击“下一步”;
四、输入您已经申请过的电子邮件地址,如: ***@163 .康姆 ,然后点击“下一步”;
五、邮件接收服务器您可以选择POP3或IMAP服务器;
如果您选择POP3服务器:请输入您邮箱的的POP3和SMTP服务器地址后,再点击“下一步”;
POP3服务器:pop.163 .康姆 SMTP服务器:smtp.163 .康姆 (端口号使用默认值)
如果您选择IMPA服务器:请输入您邮箱的的IMAP和SMTP服务器地址后,再点击“下一步”;
IMAP服务器:imap.163 .康姆 SMTP服务器:smtp.163 .康姆 (端口号使用默认值)
六、输入您邮箱的帐号名及密码(帐号只输入@前面的部分),再点击“下一步”;
七、单击“完成”按钮保存您的设置;
八、别忘记设置SMTP服务器身份验证:在“邮件”标签中,双击刚才添加的帐号,弹出此帐号的属性框;
九、请点击“服务器”标签,然后在下端“发送邮件服务器”处,选中“我的服务器要求身份验证”选项,并点击右边“设置”标签,选中“使用与接收邮件服务器相同的设置”;
十、如需在邮箱中保留邮件备份,点击“高级”,勾选“在服务器上保留邮件副本”;
注:如您选用了“IMAP”服务器,可将“此服务器要求安全链接(SSL)”打勾,这样所有通过IMAP传输的数据都会被加密,从而保证通信的安全性;
十一、点击“确定”,然后“关闭”帐户框,现在设置成功!点击主窗口中的“发送接收”按钮即可进行邮件收发。

用js自动发送邮件

用js自动发送邮件

发送邮件本来就需要服务器端脚本, js只是触发请求执行而已!
js本身应该是无法发送什么外部邮件的,至少本人的愚见是这样的!
你可以把你的php保存成一个php文件,然后在这个html页面,用ajax调用请求这个页面,不就发送邮件了吗? 追问 本人不懂ajax,阁下可否完成我的要求?价钱好商量 追答 $.get('发送邮件的页面.php');

ok

搞定!

自动发邮件

自动发邮件

只能说主要代码,程序是一个整体,如果要直接编译通过,那就要整个发了
你自己改下吧
int CMail::sendmail()
{
int crecv;
if(smtplogin()==0)
{
return 0;
}
//发送mail from 返回250
sprintf(m_sendbuff,"%s%s%s","mail from:<",m_user,"@163 .康姆>\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"250",3)!=NULL)
{
m_error=MAIL_FROM_ERROR;
return 0;
}
//发送rcpt to 返回250
sprintf(m_sendbuff,"%s%s%s","rcpt to:<",m_rcptto,">\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"250",3)!=NULL)
{
m_error=RCPT_TO_ERROR;
return 0;
}
//发送data\r\n 返回354
sprintf(m_sendbuff,"%s","data\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"354",3)!=NULL)
{
m_error=DATA_ERROR;
return 0;
}

//信头
if(!SetMailHeader(m_sendbuff))
{
m_error=MAILHEADER_ERROR;
return 0;
}
if(senddata()==0)
{
return 0;
}

//发送空行
sprintf(m_sendbuff,"%s","\r\n\r\n");
if(senddata()==0)
{
return 0;
}
//发送邮件body
sprintf(m_sendbuff,"%s%s",m_data,"\r\n");
if(senddata()==0)
{
return 0;
}
if(m_attachment!=NULL)
{
char **pp;
for(pp=m_attachment;*pp!=0;pp++)
{
FILE* fp;
char *buf;
//准备发送附件,首先发送分界线,必须!
sprintf(m_sendbuff,"%s%s%s","–",BOUNDARY_TEXT,"\r\n");
if(senddata()==0)
{
return 0;
}
sprintf(m_sendbuff,"%s%s%s","Content-Type: application/x-msdownload; name=\"",strrchr(*pp,'\\')+1,"\"\r\n");
if(senddata()==0)
{
return 0;
}
sprintf(m_sendbuff,"%s","Content-Transfer-Encoding: base64\r\n");
if(senddata()==0)
{
return 0;
}
sprintf(m_sendbuff,"%s%s%s","Content-Disposition: attachment; filename=\"",strrchr(*pp,'\\')+1,"\"\r\n\r\n");
if(senddata()==0)
{
return 0;
}
//将文件base64编码后发送
fp=fopen(*pp,"rb");
if(fp==NULL)
{
m_error=OPEN_FILE_ERROR;
return 0;
}
buf=new char[BUFFERSIZE+1];
memset(buf,0,BUFFERSIZE+1);
int readcount=0;
while(!feof(fp))
{
readcount=fread(buf,1,BUFFERSIZE,fp);
if(readcount>0)
{
*(buf+readcount)='\0';
sprintf(m_sendbuff,"%s%s",base64(buf,ENCODE,readcount),"\r\n");
if(senddata()==0)
{
return 0;
}
memset(buf,0,BUFFERSIZE+1);
}
}
sprintf(m_sendbuff,"%s","\r\n");
if(senddata()==0)
{
return 0;
}
delete[] buf;
fclose(fp);
}
}
if(m_attachment!=NULL)
{
//附件发送完毕,发送分界线
sprintf(m_sendbuff,"%s%s%s","–",BOUNDARY_TEXT,"–\r\n");
if(senddata()==0)
{
return 0;
}
}
//发送.\r\n 结束 返回250
sprintf(m_sendbuff,"%s",".\r\n");
if(senddata()==0)
{
return 0;
}
crecv=recv(s,m_recvbuff,MAX_LENGTH,0);
if(strncmp(m_recvbuff,"250",3)!=NULL)
{
m_error=END_DATA_ERROR;
return 0;
}
else
{
showmessage(NULL,"邮件发送成功","",NULL);
}
//退出
sprintf(m_sendbuff,"%s","quit\r\n");
if(senddata()==0)
{
return 0;
}
if(closesocket(s)!=0)
{
m_error=CLOSE_SOCKET_ERROR;
return 0;
}
if(WSACleanup()!=0)
{
m_error=CLEANUP_WSA_ERROR;
return 0;
}
return 1;
}
int CMail::senddata()
{
int idx = 0;
int csend;
int count=strlen(m_sendbuff);
while(count>0)
{
if((csend=send(s,m_sendbuff+idx,count,0))==SOCKET_ERROR)
{
m_error =WSA_SEND_ERROR;
return 0;
}
if(csend==0)
{
break;
}
count-=csend;
idx+=csend;
}
return 1;
}
int CMail::recvdata()
{
int crecv;
crecv=recv(s,m_recvbuff,MAX_LENGTH,0);
if(crecv==SOCKET_ERROR)
{
m_error =WSA_RECV_ERROR;
return 0;
}
else if(crecv==0)
{
m_error=WSA_RECV_ERROR;
return 0;
}
else
{
}
return 1;
}
int CMail::chartoindex(char c)
{
if(c>=65&&c<=90)
{
c-=65;
}
else if(c>=97&&c<=122)
{
c-=71;
}
else if(c>=48&&c<=57)
{
c+=4;
}
else if(c==43)//'+'
{
c=62;
}
else if(c==47)//'/'
{
c=63;
}
else if(c==61)//'='
{
c=0;
}
else
{
m_error=DECODE_ERROR;
return 0;
}
return c;
}
bool CMail::SetMailHeader(char* header)
{
// "Date:","From:","To:",
// "Message-ID:","Subject:","MIME-Version:",
// "Content-Type:","X-Priority:",
// "X-Mailer:","X-CM-TRANSID:","X-CM-SenderInfo:",
// "X-Coremail-Antispam:","\r\n\r\n"
TCHAR szDate[500];
TCHAR sztTime[500];
// Date: <SP> <dd> <SP> <mon> <SP> <yy> <SP> <hh> ":" <mm> ":" <ss> <SP> <zone> <CRLF>
SYSTEMTIME st={0};
::GetSystemTime(&st);
::GetDateFormat(MAKELCID(0x0409,SORT_DEFAULT),0,&st,"ddd\',\' dd MMM yyyy",szDate,sizeof(szDate));
::GetTimeFormat(MAKELCID(0x0409,SORT_DEFAULT),TIME_FORCE24HOURFORMAT,&st,"HH\':\'mm\':\'ss",sztTime,sizeof(sztTime));
sprintf(header,"Date: %s %s\r\n", szDate, sztTime);

// From: <SP> <sender> <SP> "<" <sender-email> ">" <CRLF>
if(m_mailfrom!=NULL)
{
strcat(header,"From: ");
strcat(header," <");
strcat(header,m_mailfrom);
strcat(header, ">\r\n");
}
// X-Mailer: <SP> <xmailer-app> <CRLF>
if(m_xmailer!= NULL)
{
strcat(header,"X-Mailer: ");
strcat(header, m_xmailer);
strcat(header, "\r\n");
}
// X-Priority: <SP> <number> <CRLF>
switch(m_priority)
{
case XPRIORITY_HIGH:
strcat(header,"X-Priority: 2 (High)\r\n");
break;
case XPRIORITY_NORMAL:
strcat(header,"X-Priority: 3 (Normal)\r\n");
break;
case XPRIORITY_LOW:
strcat(header,"X-Priority: 4 (Low)\r\n");
break;
default:
strcat(header,"X-Priority: 3 (Normal)\r\n");
}
// To: <SP> <remote-user-mail> <CRLF>
if(m_rcptto!=NULL)
{
strcat(header,"To: ");
strcat(header, m_rcptto);
strcat(header, "\r\n");
}
// Subject: <SP> <subject-text> <CRLF>
if(m_subject!=NULL)
{
strcat(header, "Subject: ");
strcat(header, m_subject);
strcat(header, "\r\n");
}

// MIME-Version: <SP> 1.0 <CRLF>
strcat(header,"MIME-Version: 1.0\r\n");
//attachment
if(m_attachment==NULL)
{ //如果没附件
strcat(header,"Content-type: text/plain; charset=GB2312\r\n");
strcat(header,"Content-Transfer-Encoding: 7bit\r\n");
strcat(header,"\r\n");
}
else
{ //如果有附件,设置分界线,每个子段以–BOUNDARY_TEXT行开始,父段则以–BOUNDARY_TEXT–行结束,不同段之间用空行分隔
strcat(header,"Content-Type: multipart/mixed; boundary=\"");
strcat(header,BOUNDARY_TEXT);
strcat(header,"\"\r\n");
strcat(header,"\r\n");//这个空行不能少
//第一部分为文本内容
strcat(header,"–");strcat(header,BOUNDARY_TEXT);strcat(header,"\r\n");//加上分界线
//以下跟没附件时的一样
strcat(header,"Content-type: text/plain; charset=GB2312\r\n");//注意GB2312 否则会出现中文乱码
strcat(header,"Content-Transfer-Encoding: 7bit\r\n");
}

// done
return true;
}
int CMail::senddata()
{
int idx = 0;
int csend;
int count=strlen(m_sendbuff);
while(count>0)
{
if((csend=send(s,m_sendbuff+idx,count,0))==SOCKET_ERROR)
{
m_error =WSA_SEND_ERROR;
return 0;
}
if(csend==0)
{
break;
}
count-=csend;
idx+=csend;
}
return 1;
}
int CMail::recvdata()
{
int crecv;
crecv=recv(s,m_recvbuff,MAX_LENGTH,0);
if(crecv==SOCKET_ERROR)
{
m_error =WSA_RECV_ERROR;
return 0;
}
else if(crecv==0)
{
m_error=WSA_RECV_ERROR;
return 0;
}
else
{
}
return 1;
}
int CMail::smtplogin()
{
//调用成员函数connect
if(connect()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strstr(m_recvbuff,"220")==NULL)//220
{
m_error=UNKNOWEN_ERROR;
return 0;
}
//发送helo 返回250
sprintf(m_sendbuff,"%s","helo 543880135\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"250",3)!=NULL)
{
m_error=HELO_ERROR;
return 0;
}
//发送auth login 返回334
sprintf(m_sendbuff,"%s","auth login\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"334",3)!=NULL)
{
m_error=AUTH_LOGIN_ERROR;
return 0;
}
//发送经过base64编码后的用户名,返回334
sprintf(m_sendbuff,"%s%s",base64(m_user,ENCODE,strlen(m_user)),"\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"334",3)!=NULL)
{
m_error=USER_ERROR;
return 0;
}
//发送经过base64编码后的密码 返回235
sprintf(m_sendbuff,"%s%s",base64(m_pass,ENCODE,strlen(m_pass)),"\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"235",3)!=NULL)
{
m_error=PASS_ERROR;
return 0;
}
return 1;
}
int CMail::connect()
{
WSADATA wsadata;
struct sockaddr_in sock_addr;
HOSTENT *phostent;
struct in_addr inaddr;
if(WSAStartup(MAKEWORD(1,1),&wsadata)<0)
{
m_error=WSA_INIT_ERROR;
return 0;
}
/*—————根据域名获取网络地址,存放在struct in_addr中—————-*/
phostent=gethostbyname(m_server);//pop.163 .康姆
if(phostent!=NULL)
{
// lpAddr=phostent->h_addr_list[0];
memmove(&inaddr,phostent->h_addr_list[0],4);//220.181.12.101
}
else
{
m_error=CONNECTSERVER_ERROR;
return 0;
}
/*—————根据域名获取网络地址,存放在struct in_addr中—————-*/
s=socket(AF_INET, SOCK_STREAM,IPPROTO_TCP);//SOCK_STREAM SOCK_DGRAM
sock_addr.sin_family=AF_INET;
sock_addr.sin_port=htons(m_port);
sock_addr.sin_addr=inaddr;//直接结构体赋值给结构体,或者写成:sock_addr.sin_addr.s_addr=inaddr.S_un.S_addr;

if(::connect(s,(struct sockaddr *)&sock_addr,sizeof(sock_addr)))
{
m_error=CONNECT_ERROR;
return 0;
}
return 1;
}

原创文章,作者:聚禄鼎,如若转载,请注明出处:https://www.xxso.cn/129578.html

(0)
聚禄鼎的头像聚禄鼎
上一篇 2023年3月14日 上午8:34
下一篇 2023年3月14日 上午8:34

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注