2016-08-28 17:45:46 3082次浏览 3条回答 1 悬赏 50 金钱
'mailer' => [
    'class' => 'yii\swiftmailer\Mailer',
    'viewPath' => '@common/mail',
    'useFileTransport' => false,
    'transport' => [
        'class' => 'Swift_SmtpTransport',
        'host' => 'smtp.163.com',
        'username' => '******',
        'password' => '******',
        'port' => '25',
        'encryption' => 'tls',
    ],
    'messageConfig'=>[
        'charset'=>'UTF-8',
        'from'=>[***********]
    ],
],
$user = User::findOne(['email' => $this->email]);
$mail = \Yii::$app->mailer->compose();
$mail->setTo($this->email);
$mail->setSubject("邮箱激活");
$mail->setHtmlBody("kkkkkkk");
$mail->send();

邮箱的SMTP也都打开,密码也是用的授权码,在本地调试都好好的,也能发送,在万网虚拟主机就发送不了,提示“getmypid() has been disabled for security reasons”,这破玩意网搜也没搜到是啥,但是从错误提示能看出来是加载compose的时候出错

有没有出现类似问题的老司机带一下

补充于 2016-09-01 08:10

有没有办法可以用其他函数代替?或者重构?

  • 回答于 2016-08-28 20:57 举报

    getmypid()这个php的系统函数被禁用了,应该是万网虚拟主机为了安全才这样的,没治!换成vps吧。

    1 条回复
    回复于 2016-08-29 10:57 回复

    这玩意还有安全隐患?

  • 回答于 2016-09-01 12:00 举报

    我刚也查了下, getmypid() 是APACHE 模块里面禁用了。

    1 条回复
    回复于 2016-09-02 08:31 回复

    现在万网正面回答解决不了,只能另想其他

  • 回答于 2016-09-02 11:37 举报

    在虚机试了一下也不行...如果找到方法希望能分享一下.

您需要登录后才可以回答。登录 | 立即注册
drykiss
副总裁

drykiss

注册时间:2015-10-20
最后登录:2018-05-04
在线时长:51小时27分
  • 粉丝6
  • 金钱4520
  • 威望0
  • 积分5030

热门问题