php通过 smtp发送邮件问题
发布网友
发布时间:2022-04-06 06:46
我来回答
共4个回答
懂视网
时间:2022-04-06 11:07
学习PHP实现SMTP邮件的发送:当你还在纠结php内置的mail()函数不能发送邮件时,那么你现在很幸运,此时的这篇文章可以帮助到你!php利用smtp类来发邮件真是屡试不爽,我用过很久了,基本上没出过问题。本博客后台,当博主回复留言时候,会自动给网友发一封有新回复提示的邮件也是用的本文
热心网友
时间:2022-04-06 08:15
程序中:$this->smtp_putcmd("", base64_encode($this->pass)
登陆密码base64后明文发送,认证方式为未加密方式,163的邮箱支持未加密的认证,其他邮箱就未必了,而且像google邮箱也不接受来自本localhost主机发送的邮件,只接受开放smtp服务的主机发送邮件。
以下这段程序是原来写的,探测smtp主机的,在$server数组中添加smtp主机就可以了,只有返回AUTH LOGIN PLAIN的才可以用你说的程序发送邮件:
<?
set_time_limit( 0 );
$server = array(
"smtp.163.com",
"smtp.sina.com",
"smtp.google.com",
);
echo "<pre style='font-size:12px;font-family:verdana'>";
foreach ( $server as $key => $val) {
$fp = fsockopen( $val, 25, $errno, $errstr, 10 );
if ( $errno !==0 ) {
echo("Can not connect to $val .\r\n");
continue;
}
echo "\r\n<font color=red>$val</font> \r\n";
echo fread( $fp, 1024);
fputs( $fp, "EHLO localhost\r\n" );
echo fread( $fp, 1024 );
fclose( $fp );
热心网友
时间:2022-04-06 09:33
我看了这个代码,我觉得应该没有问题,请你检查你的SMTP验证信息是否正确,就是new smtp(....)的最后两个参数:$smtpuser,$smtppass。
热心网友
时间:2022-04-06 11:08
smtp帐号设置如附图