1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 阿里云服务器使用SMTP发送邮件

阿里云服务器使用SMTP发送邮件

时间:2021-01-17 18:59:17

相关推荐

阿里云服务器使用SMTP发送邮件

在阿里云上买了一个轻量应用服务器,之所以选择这个是因为该类型的服务器可以在购买时配置开发环境,而且价格比较便宜。将网站在本地搭好上传到云上时,发现原本可以运行的邮件发送功能失效了。折腾了将近一天之后,才发现问题所在,这里记录一下。

官方教程

阿里云在帮助中提供了SMTP发邮件的示例程序,各个语言的版本都有,很全面:

image.png

其中PHP的代码如下:

<?php require 'email.class.php'; $mailto='***'; $mailsubject="测试邮件"; $mailbody='这里是邮件内容'; $smtpserver = ""; $smtpserverport = 25; $smtpusermail = "***"; $smtpuser = "***"; $smtppass = "***"; $mailsubject = "=?UTF-8?B?" . base64_encode($mailsubject) . "?="; $mailtype = "HTML"; $smtp = new smtp($smtpserver, $smtpserverport, true, $smtpuser, $smtppass); $smtp->debug = false; $smtp->sendmail($mailto, $smtpusermail, $mailsubject, $mailbody, $mailtype); 在使用时我将官方给出的PHP的代码复制进去,运行时还是出错(访问smtp服务器超时)。后来查了各种资料才发现阿里云出于安全的考虑,将25号端口关闭了(教程给的就是25号端口)。实际中使用SSL协议,对应SMTP端口就是465,将端口改掉,同时在smtp服务器地址前加ssl://即可: $smtpserver = "ssl://"; $smtpserverport = 465; 实例代码 实际中网站使用PHPMail进行邮件的发送。代码如下: <?php //该文件名为 sendemailPHPMail.php /* use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'php/Exception.php'; require 'php/PHPMailer.php'; require 'php/SMTP.php'; */ include_once "class.phpmailer.php"; include_once "class.smtp.php"; //include_once "Exception.php"; //获取一个外部文件的内容 $mail=new PHPMailer(); /// $send_name=$_POST['name']; $send_phone=$_POST['phone']; $send_theme=$_POST['theme']; $send_kind=$_POST['kind']; $mailcontent = "姓名昵称: ".$send_name."

电话邮箱: ".$send_phone."

用途: ".$send_theme."

风格: ".$send_kind."

内容: ".$_POST['content'];//邮件内容 /// //设置smtp参数 $mail->IsSMTP(); $mail->SMTPAuth=true; $mail->SMTPKeepAlive=true; $mail->Host="ssl://"; $mail->Port=465; //填写你的email账号和密码 $mail->Username="****@"; $mail->Password="****";#注意这里要填写授权码就是我在上面网易邮箱开启SMTP中提到的,不能填邮箱登录的密码哦。 //设置发送方,最好不要伪造地址 $mail->From="***@"; $mail->FromName="***";//发送者用户名 $mail->Subject="****";//邮件标题 $mail->AltBody=$mailcontent; //邮件内容 $mail->WordWrap=50; // set word wrap $mail->MsgHTML($mailcontent); //设置回复地址 $mail->AddReplyTo("****@","***"); //设置邮件接收方的邮箱和姓名 $mail->AddAddress("***@","**");//接收者邮箱和用户名 //使用HTML格式发送邮件 $mail->IsHTML(true); //通过Send方法发送邮件 //根据发送结果做相应处理 if(!$mail->Send()){ //echo "Mailer Error:".$mail->ErrorInfo; echo ""; echo ""; exit; } ?>

点击下载class.phpmailer.php和class.smtp.php文件。(提取密码为:x6at)

前端代码为:

内容

后记

被官方教程给坑了一下(╯︵╰),下次要注意。这里Mark一下( ̄▽ ̄)/。

附另一种smtp邮件发送方法:php利用smtp类轻松的发送电子邮件,该方法没有在阿里云服务器测试,不过本地测试通过(PHP高于5.3使用时会有问题)。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。