I made the settings related to processing the queue with cron in my config file, but after cron runs, even though I stop it from crontab, the mails still continue to be sent when I stop the campaign, it just stops.
my phplist version : 3.6.8
my php version : 7.4.30 nginx fpm
<?php /* * ============================================================================================================== * * * The minimum requirements to get phpList working are in this file. * If you are interested in tweaking more options, check out the config_extended.php file * or visit http://resources.phplist.com/system/config * * ** NOTE: To use options from config_extended.php, you need to copy them to this file ** * ============================================================================================================== */ // what is your Mysql database server hostname $database_host = 'localhost'; // what is the name of the database we are using $database_name = 'mydatabase'; // who do we log in as? $database_user = 'myuser'; // and what password do we use $database_password = 'mypassword'; // if TEST is set to 1 (not 0) it will not actually send ANY messages, but display what it would have sent // this is here, to make sure you edited the config file and mails are not sent "accidentally" // on unmanaged systems define('TEST', 0); /* ============================================================================================================== * * Settings for handling bounces * * This section is OPTIONAL, and not necessary to send out mailings, but it is highly recommended to correctly * set up bounce processing. Without processing of bounces your system will end up sending large amounts of * unnecessary messages, which overloads your own server, the receiving servers and internet traffic as a whole * ============================================================================================================== */ // Message envelope. // This is the address that most bounces will be delivered to // Your should make this an address that no PERSON reads // but a mailbox that phpList can empty every so often, to process the bounces // $message_envelope = 'listbounces@yourdomain'; // Handling bounces. Check README.bounces for more info // This can be 'pop' or 'mbox' $bounce_protocol = 'mbox'; // set this to 0, if you set up a cron to download bounces regularly by using the // commandline option. If this is 0, users cannot run the page from the web // frontend. Read README.commandline to find out how to set it up on the // commandline define('MANUALLY_PROCESS_BOUNCES', 0); // when the protocol is pop, specify these three $bounce_mailbox_host = 'imap.gmail.com'; $bounce_mailbox_user = 'firstname.lastname@example.org'; $bounce_mailbox_password = 'mypassword'; // the "port" is the remote port of the connection to retrieve the emails // the default should be fine but if it doesn't work, you can try the second // one. To do that, add a # before the first line and take off the one before the // second line $bounce_mailbox_port = '993'; //$bounce_mailbox_port = "110/pop3"; // it's getting more common to have secure connections, in which case you probably want to use //$bounce_mailbox_port = "995/pop3/ssl/novalidate-cert"; // when the protocol is mbox specify this one // it needs to be a local file in mbox format, accessible to your webserver user $bounce_mailbox = '/var/spool/mail/listbounces'; // set this to 0 if you want to keep your messages in the mailbox. this is potentially // a problem, because bounces will be counted multiple times, so only do this if you are // testing things. $bounce_mailbox_purge = 1; // set this to 0 if you want to keep unprocessed messages in the mailbox. Unprocessed // messages are messages that could not be matched with a user in the system // messages are still downloaded into phpList, so it is safe to delete them from // the mailbox and view them in phpList $bounce_mailbox_purge_unprocessed = 1; // how many bounces in a row need to have occurred for a user to be marked unconfirmed $bounce_unsubscribe_threshold = 5; // choose the hash method for password // check the extended config for more info // in most cases, it is fine to leave this as it is define('HASH_ALGO', 'sha256'); // ------------------------------------------------------------------ // if you change the path to the phpList system, make the change here as well // path should be relative to the root directory of your webserver (document root) // If you install phpList in the document root then the value should be an empty string, not '/'. // Warning: Do not change this after installation. You can only change this before you // install and initialise phpList. $pageroot = ''; // use Register to "register" to phpList.com. Once you set TEST to 0, the system will then // request the "Powered By" image from www.phplist.com, instead of locally. This will give me // a little bit of an indication of how much it is used, which will encourage me to continue // developing phpList. If you do not like this, set Register to 0. define('REGISTER', 0); // If you set up your system to send the message automatically (from commandline), // you can set this value to 0, so "Process Queue" will disappear from the site // this will also stop users from loading the page on the web frontend, so you will // have to make sure that you run the queue from the commandline // check README.commandline how to do this define('MANUALLY_PROCESS_QUEUE', 0); // Default 1 // to avoid overloading the server that sends your email, you can add a little delay // between messages that will spread the load of sending // you will need to find a good value for your own server // value is in seconds, and you can use fractions, eg "0.5" is half a second // (or you can play with the autothrottle below) define('MAILQUEUE_THROTTLE', 240); // Default 0 // set this to 1 to allow adding attachments to the mails // caution, message may become very large. it is generally more // acceptable to send a URL for download to users // using attachments requires PHP 4.1.0 and up define('ALLOW_ATTACHMENTS', 1); // the attachment repository is the place where the files are stored (if you use // ALLOW_ATTACHMENTS) // this needs to be writable to your webserver user // it also needs to be a full path, not a relative one // for secutiry reasons it is best if this directory is not public (ie below // your website document root) $attachment_repository = '/tmp'; /* ========================================================================= Message sending options * phpList now only uses phpMailer for sending, but below you can * tweak a few options on how that is done ========================================================================= */ // If you are using PHPMailer 5 then you can use a different version to the phplist distribution by specifying // the location of the PHPMailer autoload file // if not set, the PHPMailer version included in the distribution will be used // eg for Debian based systems, it may be something like the example below // when you do this, you may need to run some tests, to see if the phpMailer version you have works ok //define ('PHPMAILER_PATH', '/usr/share/php/libphp-phpmailer/PHPMailerAutoload.php'); // // If you are using PHPMailer 6 then you can use a different version by setting the location of the PHPMailer // src directory, e.g. //define ('PHPMAILER_PATH', '/var/www/PHPMailer-master/src'); // To use a SMTP server please give your server hostname here, leave it blank to use the standard // PHP mail() command. define('PHPMAILERHOST', 'smtp.gmail.com'); // in the above you can specify multiple SMTP servers like this: // 'server1:port1;server2:port2;server3:port3' eg //define('PHPMAILERHOST','smtp1.mydomain.com:25;smtp2.mydomain.com:2500;smtp3.phplist.com:5123'); // if you want to use smtp authentication when sending the email uncomment the following // two lines and set the username and password to be the correct ones $phpmailer_smtpuser = 'email@example.com'; $phpmailer_smtppassword = 'mypassword'; //# you can set this to send out via a different SMTP port define('PHPMAILERPORT',587); //# test vs blast // you can send test messages via a different SMTP host than the actual campaign queue // if not set, these default to the above PHPMAILERHOST and PHPMAILERPORT // define('PHPMAILERTESTHOST','testsmtp.mydomain.com'); // define('PHPMAILERBLASTHOST','livesmtp.mydomain.com'); // define('PHPMAILERBLASTPORT',25); // to use SSL/TLS when sending set this value // it can either be "ssl" or "tls" or false to not use SSL/TLS at all define("PHPMAILER_SECURE",'tls'); //# SMTP debugging // Enable debugging output by phpmailer when sending test emails // See https://phpmailer.github.io/PHPMailer/classes/PHPMailer-PHPMailer-PHPMailer.html#property_SMTPDebug // define('PHPMAILER_SMTP_DEBUG', 0); //# Smtp Timeout //# If you use SMTP for sending, you can set the timeout of the SMTP connection //# defaults to 5 seconds // define('SMTP_TIMEOUT',5); // Pop-Before-Smtp // If you use Pop before Smtp, set to true // And complete smtp settings (PHPMAILERHOST, phpmailer_smtpuser', phpmailer_smtppassword) define('POP_BEFORE_SMTP', false); define('POPBEFORESMTP_DEBUG', false);