原创

网站发送邮件的实例代码分享


数据库:

  1. CREATE TABLE `zhe_code` (
  2. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  3. `name` varchar(255) DEFAULT NULL COMMENT '邮箱地址或者电话号码',
  4. `code` int(11) DEFAULT NULL,
  5. `type` int(2) DEFAULT '1' COMMENT '`1email 2phone`',
  6. `status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '1已发送,2已使用',
  7. `delete_time` int(11) DEFAULT NULL,
  8. `create_time` int(11) DEFAULT NULL,
  9. `update_time` int(11) DEFAULT NULL,
  10. `use_time` int(11) DEFAULT NULL COMMENT '使用时间',
  11. PRIMARY KEY (`id`)
  12. ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

代码:

  1. //邮件发送 - 验证码类型
  2. public static function send($toUser=['571031767@qq.com'])
  3. {
  4. // 创建Transport对象,设置邮件服务器和端口号,并设置用户名和密码以供验证
  5. $transport = (new \Swift_SmtpTransport('smtp.mxhichina.com', 465,"ssl"))
  6. ->setUsername(config('email.username'))
  7. ->setPassword(config('email.password'));
  8. // 创建mailer对象
  9. $mailer = new \Swift_Mailer($transport);
  10. $code = rand(100000,999999);//生成一个数字 6位的
  11. // Create a message
  12. $message = (new \Swift_Message('网站验证码:'))
  13. ->setFrom([config('email.username') => config('email.name')])
  14. ->setTo($toUser)
  15. ->setBody("米醋儿网验证码:{$code},若不是本人操作请忽略本邮件。");
  16. // Send the message
  17. $result = $mailer->send($message);
  18. if($result){
  19. $data["name"] = $toUser[1];
  20. $data["code"] = $code;
  21. $data["type"] = 1;//1邮箱 2电话
  22. Code::create($data);//保存数据库
  23. }
  24. return $result;
  25. }

邮件服务器使用的是阿里云的企业邮箱。腾讯云和其它云应该都有企业邮箱的吧,买域名赠送的。

留言反馈
问题反馈渠道,如有软件无法下载或者其他问题可反馈。【由于某种原因,目前留言不展示】
用户需要登录后才能留言反馈