PHPMailer not found by smtpmailer bundled in public.openstack-org

Bug #1406662 reported by Clark Boylan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openstack-org
Fix Released
Undecided
Unassigned

Bug Description

I am working to run a local instance of public.openstack-org and have found that I get 500 errors because smtpmailer bundled by public.openstack-org fails to require_once class.phpmailer.php.

The line that breaks is at https://github.com/OpenStackweb/public.openstack-org/blob/master/smtpmailer/code/SmtpMailer.php#L3

The 500 error looks like:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /opt/openstackweb/_ss_environment.php on line 19

Warning: require_once(/opt/openstackweb/smtpmailer/code/vendor/class.phpmailer.php): failed to open stream: No such file or directory in /opt/openstackweb/smtpmailer/code/SmtpMailer.php on line 3

Fatal error: require_once(): Failed opening required '/opt/openstackweb/smtpmailer/code/vendor/class.phpmailer.php' (include_path='.:/opt/openstackweb/framework:/opt/openstackweb/framework/parsers:/opt/openstackweb/framework/thirdparty:.:/usr/share/php:/usr/share/pear') in /opt/openstackweb/smtpmailer/code/SmtpMailer.php on line 3

I can confirm that /opt/openstackweb/smtpmailer/code/vendor/class.phpmailer.php is a file that does not exist. This appears to be an undocumented install step? Or possibly a missing dependency that needs to be added to smtpmailer?

Revision history for this message
Elizabeth K. Joseph (lyz) wrote :

I've confirmed that we are able to install the libphp-phpmailer package in Ubuntu 14.04 and edit smtpmailer/code/SmtpMailer.php to point to that package's copy of class.phpmailer.php and the site does continue with loading properly.

So this:

require_once( dirname( __FILE__ ).DIRECTORY_SEPARATOR.'vendor'.DIRECTORY_SEPARATOR.'class.phpmailer.php' );

Is replaced by this:

require_once('/usr/share/php/libphp-phpmailer/class.phpmailer.php');

Where does it get this vendor/class.phpmailer.php version? This file does not exist when following the installation documentation in the README.

What is the difference between vendor/class.phpmailer.php and the one in the Ubuntu package, can we just update the code to use the Ubuntu libphp-phpmailer package instead?

Revision history for this message
sebastian marcet (smarcet) wrote :
Jimmy McArthur (jimmy-l)
Changed in openstack-org:
status: New → Fix Committed
Tom Fifield (fifieldt)
Changed in openstack-org:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.