Beta Testers Needed for New Plugin

Originally published at: https://www.phplist.org/beta-testers-needed-for-new-plugin/
The new submitByMailPlugin allows you to use email instead of the Phplist editor to compose messages and to submit them to a list. The plugin allows you to compose your messages elsewhere and then to submit them by email, not as an attachment, but as exactly the message that is to be distributed to your subscribers. You…

The current version of the plugin (1.0b1.1) will not allow manual message collection on hosting services that require you to use a different PHP binary on the command line from that used by the webserver. There will also be a problem if the command line PHP uses a different php.ini from the webserver, and that php.ini does not specify an include path where the Mail/mimeDecode.php can be found. Attempting to collect messages through the browser in this situation causes phpList to hang.

However, you can still collect messages via command line scripts. You can pipe messages into phpList or collect messages in the manner described in my article, as long as you make sure that you are using the correct version of PHP for the command line and that this PHP loads a php.ini specifying an include path where the PEAR mime decoder can be found. This may require invoking PHP with a ‘-c’ option on the command line directly before filename for index.php. This will not conflict with the ‘-c’ option, specifying the location of the phpList config file.

However, this will not fix the problem with message collection through the browser. That problem will be addressed in the 1.0b2 version of the plugin.

The second beta of the plugin has been released. This version has been better tested on a hosting service. It is much more polished and should be much easier to use. A significant new feature is that the plugin will generate scripts for use in cron jobs and mailbox pipes with minimal user input.

All in all, this beta should be an enormous step up from the first beta, which was really not ready for prime time.

Following a suggestion of Duncan Cameron, the distribution now includes the necessary PEAR files. So locating and editing a “php.ini” file is no longer necessary.

1 Like

Fantastic work, great :smile:

Hello,

I think I’d really like this plugin if it worked. Unless I don’t have a SSL-domain (yet) I can’t install it. While it resides in the plugin-directory I get blank screen for /lists and below.

In config.php I made changes for

  • PLUGIN_ROOTDIR
  • $attachment_repository
  • $tmpdir
    (seem to work)

Because I use a wordpress blog in /list/.htaccess I set at 1st line

  • RewriteEngine off

BTW there is no .htaccess file as you suggest here: https://resources.phplist.com/plugins/submitbymail

Thanks for your support!
: ) willie (ge)

Info

Webserver
PHP Version: 5.4.38
MySQL Version: 5.5.38-1~dotdeb.0
Web Server Info: Apache

PHP Configuration
Safe Mode: No
Upload Max Size: 8M
Post Max Size: 8M
Upload Max Filesize: 8M
Time Limit: 30
Max Input Vars: 1000
Arg Separator: &
Allow URL File Open: On (1)
Display Erros: On (1)
FSOCKOPEN: Your server supports fsockopen.
cURL: Your server supports cURL.

yes, I believe this is a fundamental criteria for it, for security.

Willie, as Anna says, you must have SSL to activate the plugin. Also you MUST have a “.htaccess” file located in the “submitByMailPlugin” subdirectory with the following lines if you are going to set up lists for submit by mail or collect messages:

<Files “sbmajax.php”>
allow from all
</Files>

That file should have been installed with the rest of the contents of the “submitByMailPlugin” plugin subdirectory when you installed the plugin.

You say a blank screen appears when you have the submitByMailPlugin in your plugins subdirectory, right? This could happen if you have not installed ALL the files that belong in the “submitByMailPlugin” subdirectory.

In particular, you must have a “PEAR” directory INSIDE the “submitByMailPlugin” subdirectory. If that directory and its contents are not present inside the “submitByMailPlugin” subdirectory, phpList will not function when the submitByMailPlugin is present in the “plugins” directory.

This isn’t going to work when the plugin directory is outside of the web root, which is allowed.
You can probably make sbmajax.php a plugin page rather than a standalone page with a url similar to

pi=submitByMailPlugin&page=sbmajax

The code has to discard any output which phplist has already generated before generating its own:

ob_end_clean();
// do the current processing

Ok. I have done that. Now since we make the ajax calls through admin/index.php, the “.htaccess” file in the “submitByMailPlugin” subdirectory is unnecessary and has been deleted.

This version of the plugin should work wherever the plugin directory is.

The corresponding change has been made in the documentation.

Okay, and thanks for your answers, but I’m staying confused:

I tried to install the plugin, but that doesn’t work. If you ensure installation with (added) SSL would work, I’ll spend some money for that kind of security.

My .htaccess-file exists as you suggested, a directory named PEAR, too.

thanks for support
willie

You should be able to install the plugin, but you can’t activate it unless you have SSL. If you are not using https, and you go to the plugins manager to activate the plugin, it will unactivate itself when you reload the page or go to any other page. So you can install the plugin, but it will be unusable.

If you do get an SSL certificate, you should install the latest version of the submitByMailPlugin, version 1.02b10. There have been a number of other changes since the version that you seem to have installed. This version no longer requires the .htaccess file in the submitByMailPlugin subdirectory.

You should not have to spend money to get an SSL certificate. Free class 1 certificates are available at www.startssl.com. They are doing maintenance this weekend, but you should be able to get a free certificate next week. Once you get it, your hosting service will probably have to install the certificate for you – assuming that you are using a hosting service.

Given the wide variety of environments in which phpList is installed, I certainly cannot guarantee that the plugin will function in a particular installation, certainly not a beta version that does not yet have a wide history of installation and use.

I cannot emphasize too strongly that, given the nature of this plugin, it would be irresponsible to permit it to be used with an unsecured connection.

I moved 2 posts to a new topic: Are these extra files malware?

1 Like

I’m eager to test this but I’m getting an error “plugin installation failed”. I’m not sure how to proceed troubleshooting that. I do have an SSL certificate, but an earlier post mentioned that lack thereof shouldn’t hinder installation.

Here are the messages after clicking “Install Plugin”:

manage plugins
Fetching plugin
Developer arnoldle
Project phplist-plugin-submitByMailPlugin
Installing plugin
Plugin installation failed

Edit: phplist is v3.0.12