Jump to content
Pete

ProcessEmailToPage

Recommended Posts

Adrian/Pete, I am having a problem with this module on a newly fresh install of 3.0.17.

The module installs alright

post-756-0-70536500-1463528235_thumb.png

However, whenever you click the settings button, this is what I get:

post-756-0-87640100-1463528249_thumb.png

Any help you can provide is greatly appreciated.  It works on other installs (even ones that have upgraded to 3.x).  I have been meaning to spend some additional time troubleshooting this issue but just haven't had the free time.  

  • Like 1

Share this post


Link to post
Share on other sites

@Charles - i have it running on that same version with no errors;

what version of PHP are you running with that?

  • Like 1

Share this post


Link to post
Share on other sites

PHP 7 at this time.  I will downgrade it to 5.6 and see what happens.

  • Like 1

Share this post


Link to post
Share on other sites

Update: Taking it down to 5.6.19 did the trick.  It's working fine now.

  • Like 2

Share this post


Link to post
Share on other sites

Thanks Charles,

Please try the latest version. I don't have currently have a PHP 7 setup to test so there might be additional errors, but that one should be fixed.

  • Like 1

Share this post


Link to post
Share on other sites

Went back to PHP 7.0.6 and did the  upgrade to the newest ProcessEmailToPage version.  I sent you a PM with the results.

  • Like 1

Share this post


Link to post
Share on other sites

Error seems to have resolved with new cron.

Thanks will try with "/dev/null 2>&1" if it repeats.

  • Like 1

Share this post


Link to post
Share on other sites

Went back to PHP 7.0.6 and did the  upgrade to the newest ProcessEmailToPage version.  I sent you a PM with the results.

Thanks for all the testing!

Just to let everyone else know - Charles has tested the latest version (just committed) and it is working properly with PHP 7.

Error seems to have resolved with new cron.

Thanks will try with "/dev/null 2>&1" if it repeats.

Glad you sorted out the cron issues!

  • Like 1

Share this post


Link to post
Share on other sites

I went from PHP 5.5.9 to 7.07 (on PW 3.0.22, Process Email to Page 1.1.9) and got a cron issue right away (before it was working perfectly).

This was the error message:

Error: Exception: There was an error connecting to the server. A secure connection was requested, but was not available. Try a non-secure connection instead. (in /var/www/vhosts/aic-info.de/httpdocs/pw/site/modules/ProcessEmailToPage/flourishlib/fMailbox.php line 969)

#0 /var/www/vhosts/aic-info.de/httpdocs/pw/site/modules/ProcessEmailToPage/flourishlib/fMailbox.php(1199): fMailbox->connect()
#1 /var/www/vhosts/aic-info.de/httpdocs/pw/site/modules/ProcessEmailToPage/ProcessEmailToPage.module(439): fMailbox->listMessages()
#2 /var/www/vhosts/aic-info.de/httpdocs/pw/wire/core/WireHooks.php(619): ProcessEmailToPage->importFromEmail(Object(ProcessWire\HookEvent))
#3 /var/www/vhosts/aic-info.de/httpdocs/pw/wire/core/Wire.php(370): ProcessWire\WireHooks->runHooks(Object(ProcessWire\Page), 'render', Array)
#4 /var/www/vhosts/aic-info.de/httpdocs/pw/wire/modules/Process/ProcessPageView.module(205): ProcessWire\Wire->__call('render', Array)
#5 [internal function]: ProcessWire\ProcessPageView->

------------------------------------------------------------------------------------------------------------------

Adding the "/dev/null 2>&1"  to the unique URL did not reproduce the error message, but it did also not fetch the mail from the mail box. As switching back to PHP5.5.9 cures it there seem to be glitches when using PHP 7.x

Share this post


Link to post
Share on other sites

I will attempt to verify, however I am still at PW 3.0.20 (with an Automatic Page Name Format/PageTable issue reported in Github #1878)

  • Like 1

Share this post


Link to post
Share on other sites

Follow-up

I tested with PW 3.0.20 and PHP 5.6.19.  Then I then upgraded the PHP to 7.0.6.  With both PHP versions everything worked as normal.

I setup a new cron job and that is working without any problems.

 

  • Like 1

Share this post


Link to post
Share on other sites

@adrian Yes, the site is on https. Calling the standard url does not help - as the site rewrites it to https and I can't figure out how to reset it to not rewrite it ???.

As I have no need to go to PHP 7.x - it works with https and 5.5.9 perfectly - I can live with the status quo. Thanks for looking into that issue.

Share this post


Link to post
Share on other sites

Maybe this issue should be brought up the Flourish guys since that is where the error message is coming from. Perhaps the first thing to try is to replace the files in the flourishlib subfolder of this module with the latest versions from: https://github.com/flourishlib/flourish-classes

Even though there haven't been many changes in a while, this module is still using an outdated version of fMailbox.php

Would you mind replacing all these and seeing if it helps?

Share this post


Link to post
Share on other sites

Unfortunately  it didn't help, Adrian.

Looking at the Flourish web page I got the impression that this is a 'dead' project - the jungest blog entry is from 2012, also the forum has latest activities from 2013. That PHP 7 might have issues with these classes is probably not too strange. The fMailbox.php also indicates an age of 4 years.

Share this post


Link to post
Share on other sites

Yeah, it looks like this module really needs to move away from using Flourish. Anyone out there experienced with any good alternatives for reading emails?

Share this post


Link to post
Share on other sites

Just happened across this while randomly perusing (since I love the work Jason and Pete did with this). I have an updated version of the fMailbox.php class in my github account that may solve some of these issues.

Technically speaking, the "problem" is that newer versions of PHP are much more secure, and so when connecting to mail servers it's *actually* checking validity of certificates and credentials and what-not. The quickest way to get things working is to fall back on how PHP used to work -- no security checks. My fMailbox.php version does that. It's not the best solution, but determining exactly how to get fMailbox to properly work with all variations of servers, certificates, credentials and what-not was just not working out too well for me. In terms of a good PHP mailbox checking library, I've found that Flourish seems to have one of the best even if it is primarily a dead project.

https://github.com/BrendonKoz/flourish-classes/blob/master/fMailbox.php

There have been various GitHub users that have all forked the Flourish library and provided pull requests. I've seen some and added the few fixes that (1)I hadn't already added, or that (2)didn't conflict. That said, there have been others that have been much more active in maintaining their fork than I have.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for your post @BrendonKoz - I have never actually used this module, despite contributing a fair bit of code to it, so I haven't really been pushed into finding a solution. I'd love to hear from @Werner Pilnei whether he has success with your version of fMailbox.php - if it solves his problems then it sounds like it might be the best solution for now.

Thanks again!

  • Like 1

Share this post


Link to post
Share on other sites

I haven't used it either but have thought about contributing to this particular module (since I've done work with fMailbox.php). As long as I've followed ProcessWire I still have yet to have a production website developed with it under my belt...but that will "soon" change. At that point I'll be better able to contribute.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, BrendonKoz said:

Just happened across this while randomly perusing (since I love the work Jason and Pete did with this). I have an updated version of the fMailbox.php class in my github account that may solve some of these issues.

Technically speaking, the "problem" is that newer versions of PHP are much more secure, and so when connecting to mail servers it's *actually* checking validity of certificates and credentials and what-not. The quickest way to get things working is to fall back on how PHP used to work -- no security checks. My fMailbox.php version does that. It's not the best solution, but determining exactly how to get fMailbox to properly work with all variations of servers, certificates, credentials and what-not was just not working out too well for me. In terms of a good PHP mailbox checking library, I've found that Flourish seems to have one of the best even if it is primarily a dead project.

I use this module on a daily basis and have no problem with it working on PHP 7.   The fact that newer versions of PHP are "more secure", to me is not a "problem" but a commendable thing.

Maybe I'm missing something, but the fact that this module is working on PHP 7.x with the changes made back in June (when I reported a problem), leads me to think that if there is any problem, it would be in the setup of the cronjob that the user @Werner Pelnei was using.  I originally had problems with the cronjob, but was able to to get it to work with PHP 7.x

/usr/bin/curl -s "https://www.mywebsite.com/?hash=aaaa----secret-hash----aaaa" >  /dev/null

This statement was what finally worked.

I just hope that the module works and doesn't circumvent needed security parameters introduced in newer PHP versions.  I don't want to have to stop relying on the functionality that this module gives me.  As I stated earlier, it works (without any needed new changes to the flourish library in the module) with PHP 7.x

Edited by cstevensjr
added additional detail
  • Like 2

Share this post


Link to post
Share on other sites

@adrian I am sorry but I am no longer using the module - my customer didn't want to use the functionality and so I removed it.

Thank you guys for your efforts in helping me out.

  • Like 1

Share this post


Link to post
Share on other sites
7 hours ago, Werner Pilnei said:

@adrian I am sorry but I am no longer using the module - my customer didn't want to use the functionality and so I removed it.

Thank you guys for your efforts in helping me out.

Thanks for getting back to me. 

@BrendonKoz - I think if everything is working fine for @cstevensjr as it is, then maybe we should just leave until there are issues for others - unless you feel strongly that the change should be made - in which case maybe you could elaborate so that @cstevensjr agrees that the change needs to be made. I'll leave this up to you guys to figure out if that's ok :)

Share this post


Link to post
Share on other sites

No, I actually side with @cstevensjr in not wanting to remove the added security. I do have some additional fixes that have nothing to do with the security certificate issues though, so at some point I'll probably offer those fixes as a patch to the plugin without introducing the reduced security. They primarily have to deal with fixing the way various mail clients and how they handle (or don't correctly handle) attachments and/or inline images.

  • Like 2

Share this post


Link to post
Share on other sites

I was getting the same error as Werner Pilnei but I am using PHP 5.6.19 so can't be a PHP 7 thing. 

 

It says that it can't make a secure connection but I have Force Secure off (on POP3) in the settings so couldn't understand why it was trying a secure connection?

I added 

echo("this-secure - ".$this->secure);

just before the fsockopen command in line 963 and it came back as FALSE so that is working but when I added 

echo("this-secure".$this->secure ? 'tls://' . $this->host : $this->host);

it came back with 

tls://mail.caltd.ie

That's not right I thought and changed the line (963)

		$this->connection = fsockopen(
			$this->secure ? 'tls://' . $this->host : $this->host,

with the plain

		$this->connection = fsockopen(
			$this->host,

And it worked.

Why this Ternary Operators doesn't work here ???

But this works:

		$this->connection = fsockopen(
			$this->secure === TRUE ? 'tls://' . $this->host : $this->host,

and keeps the functionality of the Secure / not Secure.

Hope this helps.

Robert

Share this post


Link to post
Share on other sites

Hi @RDC - thanks for the update. I just took a look at the Flourish lib's github page and it looks like there is now a PHP 7 branch so maybe there is life in the project. I know you aren't using PHP 7, but I would still be curious if this new version works for you. You can grab the required flourish files here: https://github.com/flourishlib/flourish-classes/tree/php7-compat-plus-misc-fixes

Please let me know how that goes.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By gebeer
      I am happy to present my new fieldtype FieldtypeImageFromPage. It is made up of 2 modules:
      Fieldtype Image Reference From Another Page is a Fieldtype that stores a reference to a single image from another page. The image can be selected with the associated Inputfield.
      Inputfield Select Image From Page is an Inputfield to select a single image from images on a predefined page and it's children.
      And there also is a helper module that takes care of cleanup tasks.
      This module evolved out of a discussion about my other Module FieldtypeImagePicker.  It caters for use cases where a set of images is being reused multiple times across a site. With this fieldtype these images can be administered through a chosen page. All images uploaded to that page will be available in the inputfield.
      When to use ?
      Let editors choose an image from a set of images that is being used site-wide. Ideal for images that are being re-used across the site.
      Suited for images that are used on multiple pages throughout the site (e.g. icons).
      Other than the native ProcessWire images field, the images here are not stored per page. Only references to images on another page are stored. This has several advantages:
      one central place to organize images when images change, you only have to update them in one place. All references will be updated, too. (Provided the name of the image that has changed stays the same) Features
      Images can be manipulated like native ProcessWire images (resizing, cropping etc.) Image names are fully searchable through the API Accidental image deletion is prevented. When you want to delete an image from one of the pages that hold your site-wide images, the module searches all pages that use that image. If any page contains a reference to the image you are trying to delete, deletion will be prevented. You will get an error message to help you edit those pages and remove references there before you can finally delete the image. How to install and setup
      Download and install this module like any other modules in ProcessWire Create a page in the page tree that will hold your images. This page's template must have an images field Upload some images to the page you created in step 2 Create a new field. As type choose 'Image Reference From Another Page'. Save the field. In 'Details' Tab of the field choose the page you created in step 2 Click Save button Choose the images field name for the field that holds your images (on page template from step 2) Click Save button again Choose whether you want to include child pages of page from step 2 to supply images Add the field to any template You are now ready to use the field View of the inputfield on the page edit screen:

      View of the field settings

      The module can be installed from this github repo. Some more info in the README there, too.
      In my tests it was fairly stable. After receiving your valued feedback, I will eventually add it to the modules directory.
      My ideas for further improvement:
      - add ajax loading of thumbnails
      Happy to hear your feedback!
       
    • By gebeer
      Although the PW backend is really intuitive, ever so often my clients need some assistance. Be it they are not so tech savvy or they are not working in the backend often.
      For those cases it is nice to make some help videos available to editors. This is what this module does.
      ProcessHelpVideos Module
      A Process module to display help videos for the ProcessWire CMS. It can be used to make help videos (screencasts) available to content editors.
      This module adds a 'Help Videos" section to the ProcessWire backend. The help videos are accessible through an automatically created page in the Admin page tree. You can add your help videos as pages in the page tree. The module adds a hidden page to the page tree that acts as parent page for the help video pages. All necessary fields and templates will be installed automatically. If there are already a CKEditor field and/or a file field for mp4 files installed in the system, the module will use those. Otherwise it will create the necessary fields. Also the necessary templates for the parent help videos page and it's children are created on module install. The module installs a permission process-helpvideos. Every user role that should have access to the help video section, needs this permission. I use the help video approach on quite a few production sites. It is stable so far and well received by site owners/editors. Up until now I installed required fields, templates and pages manually and then added the module. Now I added all this logic to the install method of the module and it should be ready to share.
      The module and further description on how to use it is available on github: https://github.com/gebeer/ProcessHelpVideos
      If you like to give it a try, I am happy to receive your comments/suggestions here.
    • By Robin S
      A module created in response to the topic here:
      Page List Select Multiple Quickly
      Modifies PageListSelectMultiple to allow you to select multiple pages without the tree closing every time you select a page.
      The screencast says it all:

       
      https://github.com/Toutouwai/PageListSelectMultipleQuickly
      https://modules.processwire.com/modules/page-list-select-multiple-quickly/
    • By gebeer
      Hello all,
      sharing my new module FieldtypeImagePicker. It provides a configurable input field for choosing any type of image from a predefined folder.
      The need for it came up because a client had a custom SVG icon set and I wanted the editors to be able to choose an icon in the page editor.
      It can also be used to offer a choice of images that are used site-wide without having to upload them to individual pages.
      There are no image manipulation methods like with the native PW image field.
      Module and full description can be found on github https://github.com/gebeer/FieldtypeImagePicker
      Kudos to @Martijn Geerts. I used his module FieldTypeSelectFile as a base to build upon.
      Here's how the input field looks like in the page editor:

      Hope it can be of use to someone.
      If you like to give it a try, I'm happy to hear your comments or suggestions for improvement. Eventually this will go in the module directory soon, too.
    • By bernhard
      @Sergio asked about the pdf creation process in the showcase thread about my 360° feedback/survey tool and so I went ahead and set my little pdf helper module to public.
      Description from PW Weekly:
       
      Modules Directory: https://modules.processwire.com/modules/rock-pdf/
      Download & Docs: https://github.com/BernhardBaumrock/RockPDF
       
      You can combine it easily with RockReplacer: 
      See also a little showcase of the RockPdf module in this thread:
       
×
×
  • Create New...