首先是使用telnet来连接本地的25端口,稍微熟悉点网络的人都知道smtp协议使用25端口,这也就是说,现在在连接本地的smtp服务器。
<?php
require_once'Mail.php';
$conf['mail']=array(
'host'=>'xx.xx.xx.xx',//smtp服务器地址,可以用ip地址或者域名
'auth'=>true,//true表示smtp服务器需要验证,false代码不需要
'username'=>'tester',//用户名
'password'=>'retset'//密码
);
/***
*使用$headers数组,可以定义邮件头的内容,比如使用$headers['Reply-To']可以定义回复地址
*通过这种方式,可以很方便的定制待发送邮件的邮件头
***/
$headers['From']='tester@domain.com';//发信地址
$headers['To']='tester@domain.com';//收信地址
$headers['Subject']='testmailsendbyphp';//邮件标题
$mail_object=&Mail::factory('smtp',$conf['mail']);
$body=<<<MSG//邮件正文
helloworld!!!
MSG;
$mail_res=$mail_object->send($headers['To'],$headers,$body);//发送
if(Mail::isError($mail_res)){//检测错误
die($mail_res->getMessage());
}
?>
‘肆’ PHP项目使用smtp类,如何设置发件人名称
下载一个PHPMailer来用吧,下面是代码:
require_once "/phpmailer/class.phpmailer.php";
// 实例化 PHPMailer 类
$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP
$mail->Subject = "XXX"; // 邮件主题
$mail->Body = $message_body; //邮件内容
$mail->Host = "smtp.163.com"; // SMTP servers
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "username"; // SMTP username 注意:普通邮件认证不需要加 @域名
$mail->Password = "password"; // SMTP password
$mail->From = "aaa@163.com"; // 发件人邮箱
$mail->FromName = "发件人"; // 发件人
$mail->CharSet = "UTF-8"; // 这里指定字符集
$mail->Encoding = "base64";
$mail->IsHTML(true); // send as HTML
// 填入最基本的参数
$mail->AddAddress( "ccc@163.com" ); // 收件人
$mail->Send();
‘伍’ mail()函数发送邮件,php.ini 应该怎样去配置
你设置的QQ邮件服务器需要SMTP认证,而PHP内建的mail函数不支持SMTP认证
两种解决办法:
其一,找一个不需要SMTP认证的邮件服务器
其二,使用类似于pear mail这种支持SMTP认证的扩展库
‘陆’ PHP 邮件系统 Smtp 设置
server:smtp.qq.com//发件服务器
form:test@qq.com//发件人
address://不填写
smtp_name:test@qq.com//发件服务器账号与发件人保持一致
smtp_pass:****//发件服务器登录密码
smtp_ssl:465//端口
对不对你先按着注释试一把。
‘柒’ php smtp发邮件怎么设置发件人
SMTP服务器的用户邮箱就是发件人吧
‘捌’ 如何在phpcms中设置smtp验证发送邮件
一、使用易网库提供的企业邮箱
1.登录phpcms后台,点击“设置”——“邮箱配置”进入邮箱设置界面,如图1

‘玖’ 如何配置php.ini发送邮件
我的环境:XAMPP v3.2.1
准备工作
1.检查有没有sendmail程序,在xampp安装目录下的sendmail文件夹下。没有则下载sendmail.zip(http://glob.com.au/sendmail/),然后解压并放在在xampp目录下。
2.去mail.google.com注册一个google的邮箱,比如账号:user@gmail.com,密码:passwd
配置步骤:
1.PHP.ini中如下设置:
; SMTP = localhost;
smtp_port = 25;
sendmail_from = sendmail_path = "C:/xampp/sendmail/sendmail.exe -t"
也就是注释掉"SMTP"、"smtp_port"、"sendmail_from",设置sendmail_path变量的值为以上所示(根据自己电脑上sendmail.exe的目录自行设置)。
2.sendmail.ini中如下设置
smtp_server=smtp.gmail.com
smtp_port=587
smtp_ssl=TLS
error_logfile=error.log
debug_logfile=debug.log
auth_username=user@gail.com
auth_password=passwd
测试代码:
[php] view plain print?
<?php
$now = date("Y-m-d h:i:s");
$headers = 'From: name<sender@qq.com>';
$body = "hi, this is a test mail.\nMy email: sender@qq.com";
$subject = "test mail";
$to = "recver@qq.com";
if (mail($to, $subject, $body, $headers))
{
echo 'success!';
}
else
{
echo 'fail';
}
?>
以上代码执行后recver@qq.com 会收到发过来的邮件,但是邮件头中的sender@qq.com会被替换成user@gmail.com。
‘拾’ php通过 smtp发送邮件问题
程序中:$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 );