从PHP调用Python smtplib

时间:2014-03-13 19:12:45

标签: php python smtplib

我有一个python脚本,可以将邮件发送给目标收件人。现在我想从我的PHP代码中调用这个脚本。从shell调用时,python脚本可以正常工作。邮件正在送达。但是,从PHP代码调用时,它不起作用。

#!/usr/bin/python2.7  
import smtplib
email = 'mail@gmail.com'
password = 'somepassword'
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(email, password)
server.sendmail(email, 'mail@gmail.com', 'Hello World')
server.close()
print 'Sent mail'

php代码如下:

    <?php
      if(exec('echo TEST')=='TEST') {
        echo 'works';
      }
      else {
        echo 'NOT WORKING';
      }
      $command = escapeshellcmd('/home/sharan/Desktop/mail.py');
      $output = shell_exec($command);
      echo ' output:';
      echo $output;
    ?>

但是当我注释掉除了最后一个语句(print statment)之外的所有python行时,我得到了输出。所以我知道只与smtplib有关。因此,我尝试导入一些其他模块(我尝试过os)并在程序中使用它。即使在这种情况下,脚本也可以工作。只有当我导入smtplib时,脚本在从PHP调用时才起作用。为什么会出现这个问题?

有人可以帮助我解决这个问题吗?

0 个答案:

没有答案