为什么会报错,因为国内的邮件服务商要求发送邮件的人和设置的smtp服务器账号要相同,因为联系我们的是用户,也就是发件人是用户,而不是我们配置的邮箱,所有出错. 这里我用了个取巧的办法,发件人改为自己,客户的邮箱信息直接拼接在邮件内容,这样我们收到邮件就能知道谁留下的信息.这样有个好处,自己发邮件给自己,成功概率100% 把控制器改为这样写: public function actionContact() { $model = new ContactForm(); if ($model->load…
错误提示: Warning: stream_socket_enable_crypto(): this stream does not support SSL/crypto in C:\xampp\htdocs\12work\class.smtp.php on line 197 打开php的配置Open SSL Alright, we need to enable Open SSL module. Here is how to do it: Locate and open your php.ini…
依赖注入和依赖注入容器 为了降低代码耦合程度,提高项目的可维护性,Yii采用多许多当下最流行又相对成熟的设计模式,包括了依赖注入(Denpdency Injection, DI)和服务定位器(Service Locator)两种模式.关于依赖注入与服务定位器, Inversion of Control Containers and the Dependency Injection pattern <http://martinfowler.com/articles/injection.html>…
1.先看PHP观察者模式的实现: 想要使用事件.必须实现事件的基类.统一的addObserver和trigger方法 定义统一接口.所有的观察者都要实现此接口 //事件的基类 abstract class BaseEvent { private static $observer; //添加观察者 public function addObserver($obj) { self::$observer[] = $obj; } //触发事件.通知所有的观察者 public function trigg…
因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用- QQ邮箱发送邮件 #region 发送邮箱 try { MailMessage mail = new MailMessage(); MailAddress from = new MailAddress("发件人邮箱", "工程管理平台", System.Text.Encoding.GetEncoding("GB2312"));//邮件的发件人 mail.From =…