Search

Well I don’t think it’s the client because it doesn’t work in Mail or MobileMe. I’m looking into doing it again tonight on a fresh installation, with no potential conflicts.

Also, yes I do get the content I require through the browser - it just doesn’t appear in the email.

Right, I have done this with a vanilla installation. Symphony 2.0.2.

I have followed the tutorial 5 times, and everytime the email that is sent to my inbox shows no message.

Could this be Media Temple?

Could you attach or post the raw source of the email that gets sent?

Return-path: <serveradmin@nicktoye.co.uk>
Envelope-to: nick@nicktoye.co.uk
Delivery-date: Mon, 08 Jun 2009 11:06:04 -0700
Received: from nicktoye.co.uk by cl32.gs02.gridserver.com with local (Exim 4.63)
(envelope-from <serveradmin@nicktoye.co.uk>)
id 1MDjES-0000Le-AP
for nick@nicktoye.co.uk; Mon, 08 Jun 2009 11:06:04 -0700
X-MT-MESSAGEID: W2Ti9BLE4vQSxOL0E=
To: nick@nicktoye.co.uk
From: =?UTF-8?B?TmljayBUb3llIFN0dWRpb3M=?= <nicktoye@me.com>
Reply-To: =?UTF-8?B?TmljayBUb3llIFN0dWRpb3M=?= <nicktoye@me.com>
Message-ID: <7afed9a3d90b64c3f86bb0c27bbf520a@test.nicktoye.co.uk>
Importance: normal
Priority: normal
X-Sender: Symphony Email Module <noreply@symphony21.com>
X-Mailer: Symphony Email Module
X-Priority: 3
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Mime-Version: 1.0
Date: Mon, 08 Jun 2009 11:06:04 -0700
Subject:  =?UTF-8?B?Q2hlY2sgdGhpcyBvdXQh?=

Looks like the extension isn’t finding (for one reason or another) the generator page you’re trying to send. I’m not sure if the ext. pulls the page id or what, but look into that (try recreating both the page and template).

If you get no luck there, I would verify it isn’t the email sender function by hard-coding the message variable (look for the call for General::sendEmail() in extension.driver.php and replace the $email[‘message’] with some string to test it’s sending. If you still don’t get that test string, then its the mail sending function.

in the extension? not the symphony core?

General::sendEmail() is in the core & used by the extension, I mention it b/c you just want to be sure that the extension is not sending the correct info to it, i.e. its an extension problem.

Ok here is the original:

$email['message'] = (string)file_get_contents($email['generator']);

I changed it to this:

$email['message'] = 'hello world';

Still nothing.

Hmm that would suggest a problem with the mail function. Sorry, I’m stumped. Does this ext. still require editing the core, and if so did you? Sorry to ask the simple questions, but it’s all I can think of. That then just double checking that the mail function is working in other contexts.

Yeah I did edit the core.

here is the code I have:

public function __processDatasources($datasources, &$wrapper, $params = array()) {
          if (trim($datasources) == '') return;

          $datasources = preg_split('/,s*/i', $datasources, -1, PREG_SPLIT_NO_EMPTY);
          $datasources = array_map('trim', $datasources);

          if (!is_array($datasources) || empty($datasources)) return;

          $this->_env['pool'] = $params;
          $pool = $params;
          $dependencies = array();

          foreach ($datasources as $handle) {
            $this->_Parent->Profiler->seed();

            $pool[$handle] =& $this->DatasourceManager->create($handle, null, false);

            $dependencies[$handle] = $pool[$handle]->getDependencies();

            unset($ds);
          }

          $dsOrder = $this->__findDatasourceOrder($dependencies);

          foreach ($dsOrder as $handle) {
            $this->_Parent->Profiler->seed();

            $ds = $pool[$handle];
            $ds->processParameters(array('env' => $this->_env, 'param' => $this->_param));

            if ($xml = $ds->grab($this->_env['pool'])) {
              if (is_object($xml)) {
                $wrapper->appendChild($xml);

              } else {
                $wrapper->setValue($wrapper->getValue() . self::CRLF . "t" . trim($xml));
              }
            }

            $this->_Parent->Profiler->sample($handle, PROFILE_LAP, 'Datasource');

            unset($ds);
          }
        }

Just so we know it’s even getting that far, after:

$email['message'] = (string)file_get_contents($email['generator']);

Add this:

echo "Message:\n\n", $message; exit;

And let me know what output you get.

Ok, I’ve had a look at your site Nick, everything seems to be in order, so this is probably a bug, can you tell me if:

  1. PHP Safe Mode is on
  2. allow_url_fopen is off

Either one of those could be breaking it, I can get around allow_url_fopen being disabled by using CURL instead (I probably should have done that already.)

I get

message:

Ok, I don’t know if PHP Safe Mode is on, I couldn’t see it in the PHP Info.

and allow_url_fopen is Off.

Ugh, not good news :/

You can either ask your host to enable it, although they may not want to for security reasons, or you can wait for me to switch the extension to use CURL. I won’t have time to do that today though.

Well I can wait a few days or I can ask my hosts. It’s Media Temple as you know so they are usually accomodating.

So I need to enable allow_url_fopen?

Ok I have made the changes. allow_url_fopen is now On and PHP Safe Mode is now Off.

I refreshed the form and sent it again, and the message was still empty. Do I need to re-save anything?

For me disabling maintenance mode solved the problem.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details