Jump to content

AWS Simple Email Service with Bounce Management


Jon Erickson

Recommended Posts

Posted
18 minutes ago, Jon Erickson said:

Looks like it was shipped with 4.7.3. Line 78 of Scanner.php:

$excludeDirs = [ 'hooks', 'setup', 'dev', 'vendor' ];

 

I see it's there but it doesn't work, still get the same issue. Maybe it only excludes top level folders in each app folder? Your 'vendor' folder sits in the 'sources' folder. If I change to :

$excludeDirs = [ 'hooks', 'setup', 'dev', 'sources' ];

it works and doesn't cause a php-fpm: pool spike on my end.

Posted
1 minute ago, AlexWebsites said:

I see it's there but it doesn't work, still get the same issue. Maybe it only excludes top level folders in each app folder? Your 'vendor' folder sits in the 'sources' folder. If I change to :

$excludeDirs = [ 'hooks', 'setup', 'dev', 'sources' ];

it works and doesn't cause a php-fpm: pool spike on my end.

Check my previous post for the update to fix it. 

Posted
1 minute ago, beats23 said:

It's working now. However, I now have ACP warning about Scanner.php was modified. Hopefully this be fixed soon.

Could contain: Text, Paper

Could contain: Text

It’s gunna be like that till either Jon releases a version that moves the source files somewhere IPS won’t scan OR IPS updates the scanner to add the additional path. 

It’s meant to be a bandaid for those who can’t use the system at all right now… not the long term fix. 

If you edit ANY core IPB file, that will occur. You can either revert it and deal with the scanner not scanning it or ignore the warning until one of the actions noted above happen. 

Posted
2 minutes ago, Randy Calvert said:

It’s gunna be like that till either Jon releases a version that moves the source files somewhere IPS won’t scan OR IPS updates the scanner to add the additional path. 

It’s meant to be a bandaid for those who can’t use the system at all right now… not the long term fix. 

If you edit ANY core IPB file, that will occur. You can either revert it and deal with the scanner not scanning it or ignore the warning until one of the actions noted above happen. 

Yet another useless comment.

Posted
Just now, beats23 said:

Yet another useless comment.

Huh?  It literally is the answer. You’re complaining about the files being modified. 
NO DUH???  You literally just edited them. What did you expect it to say?  You’re still running original files?

Again… this is a PATCH until either a hot fix is released by IPS, a new version is released to marketplace, or IPS releases a fix in the next major release. 

If you don’t want to see the warning about core file edits, don’t edit a code file and wait for a full fix. 

Sorry you don’t like that answer, but that’s the way the system works.  Again if you don’t like my replies, put me on ignore. 

Posted

I can read and I have full understanding for what the ACP notification meant. Where did you saw me complaining?

I simply made a post stating yes it is now working for me. However the ACP has a warning. You have to quote my post with your useless gibberish which again was not addressed to you. Are you the AWSSES app developer?

I will now place you on the ignore list as you keep trolling me.

Good bye 

I await this post to be deleted.

 

Posted

I appreciate @Randy Calvert responses. They are exactly what I would have said. 

With that being said, we will await IPS’ response on where to place the vendor folder. It is currently in the sources folder as I was directed by @Daniel F to do so. I originally had it in the root application directory when I first released the application but it sounds like that wasn’t kosher.

Posted

Just an update here.. sources/vendor will be excluded from the Scanner in the November release!

On 10/13/2022 at 3:54 AM, AlexWebsites said:

I see it's there but it doesn't work, still get the same issue. Maybe it only excludes top level folders in each app folder? Your 'vendor' folder sits in the 'sources' folder. If I change to :

$excludeDirs = [ 'hooks', 'setup', 'dev', 'sources' ];

it works and doesn't cause a php-fpm: pool spike on my end.

This is a bad approach because it's literally going to exclude everything from the sources directory which means any own Item,Comment,etc class which extends one of the base IPS classes wouldn't be checked.

Posted
4 minutes ago, Daniel F said:

Just an update here.. vendor and sources/vendor will be excluded from the Scanner in the November release!

This is a bad approach because it's literally going to exclude everything from the sources directory which means any own Item,Comment,etc class which extends one of the base IPS classes wouldn't be checked.

Correct. That’s why I had him use my fix which just included sources/vendor to allow the rest of the sources folder to still be included. 

  • 2 weeks later...
Posted (edited)

Hi @Jon Erickson, I just updated from 1.0.13 to 1.0.15 and something happened.

I get a long "Cron error" over email saying I run PHP 7.3 while I am on 8.1, see below. I have tried PHP 7.4 and 8.0, still the same happens.

ANy clue this happens? Is it related to the discussion above about Vendors?

 

Exception:
ErrorException Object
(
   [message:protected] => Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0". You are running 7.3.33.
   [string:Exception:private] => 
   [code:protected] => 256
   [file:protected] => /home/nicuuorg/public_html/applications/awsses/sources/vendor/composer/platform_check.php
   [line:protected] => 24
   [trace:Exception:private] => Array
       (
           [0] => Array
               (
                   [function] => errorHandler
                   [class] => IPS\IPS
                   [type] => ::
                   [args] => Array
                       (
                           [0] => 256
                           [1] => Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0". You are running 7.3.33.
                           [2] => /home/nicuuorg/public_html/applications/awsses/sources/vendor/composer/platform_check.php
                           [3] => 24
                           [4] => Array
                               (
                                   [issues] => Array
                                       (
                                           [0] => Your Composer dependencies require a PHP version ">= 7.4.0". You are running 7.3.33.
                                       )

                               )

                       )

               )

           [1] => Array
               (
                   [file] => /home/nicuuorg/public_html/applications/awsses/sources/vendor/composer/platform_check.php
                   [line] => 24
                   [function] => trigger_error
                   [args] => Array
                       (
                           [0] => Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0". You are running 7.3.33.
                           [1] => 256
                       )

               )
etc-etc....

 

Edited by Stefan Johansson_72643
Posted
On 10/13/2022 at 3:33 AM, Jon Erickson said:

Looks like it was shipped with 4.7.3. Line 78 of Scanner.php:

$excludeDirs = [ 'hooks', 'setup', 'dev', 'vendor' ];

HOWEVER, the patch, as it stands right now, will not work as the regex pattern is looking for a directory path of

/\/var\/www\/html\/applications\/awsses\/(?:hooks|setup|dev|vendor)/

The vendor folder is located in the sources directory as required by IPS, not the root application folder.

@Daniel F, do I move my vendor folder to the root directory or do you guys update the regex to look for the vendor folder in the sources directory? 

For the time being, you can edit line 78 of Scanner.php to the following to fix the issue.

$excludeDirs = [ 'hooks', 'setup', 'dev', 'vendor', 'sources\/vendor' ];

I think my error (just posted) is related to this?

If yes, could you direct me to the location of the Scanner.php-file, I simply cannot find it 😞

Posted (edited)

The cron error is most likely not related to this plugin.  

Check your cronjob...  it's most likely set to the 7.x version of PHP.  Your server most likely has a different path for version 8.  

Cron uses the CLI version of PHP which is different than what Apache uses.  

Edited by Randy Calvert
  • 1 month later...
Posted

This just doesn't appear to work at all for us on 4.7.5, just throws this error on every attempt to send email. 

Quote

The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
 

We've double (and triple) checked the key, permissions etc, made new IAM users etc etc. But, the result is always the same. 

Posted (edited)

One thing though, it doesn't work well if you have @Daniel F's SEO essentials installed as well. I know it's not strictly a bug or issue with either application, but thought it would be useful to know, as right now it's a case of having one or the other installed. 

This is the error if you try to send an email with the SEO application installed. 

Quote

Error: Undefined constant GuzzleHttp\Client::VERSION (0)
#0 /var/www/sharedresources/awssdk/Aws/Handler/GuzzleV6/GuzzleHandler.php(40): GuzzleHttp\default_user_agent()
#1 /var/www/sharedresources/awssdk/Aws/WrappedHttpHandler.php(87): Aws\Handler\GuzzleV6\GuzzleHandler->__invoke(Object(GuzzleHttp\Psr7\Request), Array)
#2 /var/www/sharedresources/awssdk/Aws/ClientSideMonitoring/AbstractMonitoringMiddleware.php(126): Aws\WrappedHttpHandler->__invoke(Object(Aws\Command), Object(GuzzleHttp\Psr7\Request))
#3 /var/www/sharedresources/awssdk/Aws/Middleware.php(126): Aws\ClientSideMonitoring\AbstractMonitoringMiddleware->__invoke(Object(Aws\Command), Object(GuzzleHttp\Psr7\Request))
#4 /var/www/sitefiles/d321955/applications/seoessentials/sources/vendor/guzzlehttp/promises/src/FulfilledPromise.php(41): Aws\Middleware::Aws\{closure}(Object(Aws\Credentials\Credentials))
#5 /var/www/sitefiles/d321955/applications/seoessentials/sources/vendor/guzzlehttp/promises/src/TaskQueue.php(48): GuzzleHttp\Promise\FulfilledPromise::GuzzleHttp\Promise\{closure}()
#6 /var/www/sitefiles/d321955/applications/seoessentials/sources/vendor/guzzlehttp/promises/src/Promise.php(248): GuzzleHttp\Promise\TaskQueue->run(true)
#7 /var/www/sitefiles/d321955/applications/seoessentials/sources/vendor/guzzlehttp/promises/src/Promise.php(224): GuzzleHttp\Promise\Promise->invokeWaitFn()
#8 /var/www/sitefiles/d321955/applications/seoessentials/sources/vendor/guzzlehttp/promises/src/Promise.php(269): GuzzleHttp\Promise\Promise->waitIfPending()
#9 /var/www/sitefiles/d321955/applications/seoessentials/sources/vendor/guzzlehttp/promises/src/Promise.php(226): GuzzleHttp\Promise\Promise->invokeWaitList()
#10 /var/www/sitefiles/d321955/applications/seoessentials/sources/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending()
#11 /var/www/sharedresources/awssdk/Aws/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait()
#12 /var/www/sharedresources/awssdk/Aws/AwsClientTrait.php(86): Aws\AwsClient->execute(Object(Aws\Command))
#13 /var/www/sitefiles/d321955/applications/awsses/sources/Outgoing/SES.php(44): Aws\AwsClient->__call('sendEmail', Array)
#14 /var/www/html/107503/applications/core/modules/admin/settings/email.php(189): IPS\awsses\Outgoing\_SES->_send('xxx@xxx...', Array, Array, 'xx@xx...')
#15 /var/www/html/107503/system/Dispatcher/Controller.php(118): IPS\core\modules\admin\settings\_email->manage()
#16 /var/www/html/107503/applications/core/modules/admin/settings/email.php(38): IPS\Dispatcher\_Controller->execute()
#17 /var/www/html/107503/system/Dispatcher/Dispatcher.php(153): IPS\core\modules\admin\settings\_email->execute()
#18 /var/www/html/107503/admin/index.php(13): IPS\_Dispatcher->run()
#19 {main}

Quote

#0 /var/www/html/107503/init.php(1029): IPS\_Log::log('Error: Undefine...', 'uncaught_except...')
#1 [internal function]: IPS\IPS::exceptionHandler(Object(Error))
#2 {main}

 

Edited by Dll
Posted

My app includes indeed guzzle too.



                "guzzlehttp/guzzle": "~5.3.3||~6.0||~7.0",
                "guzzlehttp/psr7": "^1.8.4||^2.2.1",

 

Once SEO essentials is disabled it works? 
 

edit:

This looks more like an issue with the cloud shared library and not with this app! I’ll take a look:) 

var/www/sharedresources/awssdk/Aws/Handler/GuzzleV6/GuzzleHandler.php(40): GuzzleHttp\default_user_agent()

Posted
Just now, Daniel F said:

My app includes indeed guzzle too.



                "guzzlehttp/guzzle": "~5.3.3||~6.0||~7.0",
                "guzzlehttp/psr7": "^1.8.4||^2.2.1",

 

Once SEO essentials is disabled it works? 
 

It works if SEO essentials is uninstalled, but keeps failing if it's installed and disabled. 

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...