Search code examples
phpcentosphp-7owncloud

OwnCloud Email Notification Send Error after PHP 7 Upgrade


I was unable to send a successful test email, after updating to PHP 7.0.

Found a log in data/owncloud.log similar to:

{"reqId":"XXXXXXX","level":3,"time":"2018-02-19T02:56:55+00:00","remoteAddr":"8.8.8.8","user":"XXX","app":"PHP","method":"POST","url":"\/index.php\/settings\/admin\/mailtest","message":"Use of undefined constant INTL_IDNA_VARIANT_UTS46 - assumed 'INTL_IDNA_VARIANT_UTS46' at \/home\/user\/public_html\/owncloud\/lib\/private\/Mail\/Mailer.php#135"}

All my SMTP settings are correct. Has anyone else had this issue after updating from PHP 5.6 to PHP 7.0?

CentOS 6.9, PHP 7.0, WHM/cPanel with EA4


Solution

  • Found these two articles:

    http://php.net/manual/en/function.idn-to-ascii.php

    https://github.com/nextcloud/activity/issues/239

    Was able to resolve my issue by replacing:

     INTL_IDNA_VARIANT_UTS46
    

    with

     INTL_IDNA_VARIANT_2003
    

    in

     lib/private/Mail/Mailer.php - Line 135
     lib/private/Mail/Message.php - Line 60
     lib/private/Mail/Message.php - Line 64
    

    Hope this helps someone else in a similar situation!