It took 4 days 2 hours 25 minutes 36 seconds to send this message Warning: script never reached stage 5 This may be caused by a too slow or too busy server

This is my config.php file

    <?php


$database_host = 'localhost';


$database_name = '*****************';

// what user has access to this database
$database_user = '***************';

// and what is the password to login to control the database
$database_password = '**************';

// if you have an SMTP server, set it here. Otherwise it will use the normal php mail() function
//# if your SMTP server is called "smtp.mydomain.com" you enter this below like this:
//#
//#     define("PHPMAILERHOST",'smtp.mydomain.com');

define('PHPMAILERHOST', '');

// 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);
define('MANUALLY_PROCESS_BOUNCES', 1);
$bounce_mailbox_host = 'localhost';
$bounce_mailbox_user = 'popuser';
$bounce_mailbox_password = 'password';

$bounce_mailbox_port = '110/pop3/notls';
$bounce_mailbox = '/var/mail/listbounces';
$bounce_mailbox_purge = 1;
$bounce_mailbox_purge_unprocessed = 1;
$bounce_unsubscribe_threshold = 5;
define('HASH_ALGO', 'sha256');

These is my config_extended.php file

    <?php

    /*

    =========================================================================

    General settings for language and database

    =========================================================================

    */

    $language_module = 'english.inc';


    $database_host = 'localhost';


    $database_name = '********';


    $database_user = '********';

    // and what password do we use
    $database_password = '******************';
    $database_port = null;
    $database_socket = null;
    $database_connection_compression = false;
    $database_connection_ssl = false;
    $installation_name = 'phpList';
    $table_prefix = 'phplist_';
    $usertable_prefix = 'phplist_user_';

    $pageroot = '/lists';

    /*

    =========================================================================

    Settings for handling bounces

    =========================================================================

    */
    // $message_envelope = 'listbounces@yourdomain';
    $bounce_protocol = 'pop';
    define('MANUALLY_PROCESS_BOUNCES', 1);

    // when the protocol is pop, specify these three
    $bounce_mailbox_host = 'localhost';
    $bounce_mailbox_user = 'popuser';
    $bounce_mailbox_password = 'password';

    $bounce_mailbox_port = '110/pop3/notls';
    //$bounce_mailbox_port = "995/pop3/ssl/novalidate-cert";
    $bounce_mailbox = '/var/spool/mail/listbounces';
    $bounce_mailbox_purge = 1;
    $bounce_mailbox_purge_unprocessed = 1;
    $bounce_unsubscribe_threshold = 5;
    define('REPORT_DELETED_BOUNCES', 0);

    /*

    =========================================================================

    Security related settings

    =========================================================================

    */


    define('MAXLIST', 1);

    $commandline_users = array();


    //define('SILENT_RESUBSCRIBE',false);
    define('ASKFORPASSWORD', 0);
    define('HASH_ALGO', 'sha256');
    define('UNSUBSCRIBE_REQUIRES_PASSWORD', 0);
    define('UNSUBSCRIBE_JUMPOFF', 0);
    define('UNSUBSCRIBE_CONFIRMATION', true);
    $blacklist_gracetime = 5;
    define('CHECK_SESSIONIP', 1);
    $check_for_host = 0;

    /*

    =========================================================================

    Debugging and informational

    =========================================================================

    */

    // if test is true (not 0) it will not actually send ANY messages,
    // but display what it would have sent
    define('TEST', 1);

    // if you set verbose to 1, it will show the messages that will be sent. Do not do this
    // if you have a lot of users, because it is likely to crash your browser
    define('VERBOSE', 0);

    // some warnings may show up about your PHP settings. If you want to get rid of them
    // set this value to 0
    define('WARN_ABOUT_PHP_SETTINGS', 1);

    // user history system info.
    // when logging the history of a user, you can specify which system variables you
    // want to log. These are the ones that are found in the $_SERVER and the $_ENV
    // variables of PHP. check http://www.php.net/manual/en/language.variables.predefined.php
    // the values are different per system, but these ones are quite common.
    $userhistory_systeminfo = array(
        'HTTP_USER_AGENT',
        'HTTP_REFERER',
        'REMOTE_ADDR',
    );

    define('USE_SPAM_BLOCK', 1);


    define('NOTIFY_SPAM', 1);

    /*
    =========================================================================

    Security

    =========================================================================

    */

    define('CHECK_REFERRER', false);

    $allowed_referrers = array();


    define('REGISTER', 1);

    define('EMAILTEXTCREDITS', 0);


    define('PAGETEXTCREDITS', 0);

    define('NOSTATSCOLLECTION', 0);

    // $stats_collection_address = 'phplist-stats@phplist.com';

    define('MANUALLY_PROCESS_QUEUE', 0);

    // define('SHOW_PQCHOICE',false);
    define('MAX_PROCESS_MESSAGE', 999);
    //define('PROCESSCAMPAIGNS_PARALLEL',true); //
    define('MAILQUEUE_BATCH_SIZE', 0); //0 //04-08-2018


    define('MAILQUEUE_BATCH_PERIOD', 600); //3600 //04-08-2018

    define('MAILQUEUE_THROTTLE', 0); //0 //04-08-2018

    define('MAILQUEUE_AUTOTHROTTLE', 0);

    define('USE_DOMAIN_THROTTLE', 0);
    define('DOMAIN_BATCH_SIZE', 1);
    define('DOMAIN_BATCH_PERIOD', 120);

    define('DOMAIN_AUTO_THROTTLE', 0);

    define('MAX_PROCESSQUEUE_TIME', 0);
    //# default system language
    $default_system_language = 'en';
    //define('USE_PRECEDENCE_HEADER',false);

    define('ALLOW_NON_LIST_SUBSCRIBE', 0);
    define('PREFERENCEPAGE_SHOW_PRIVATE_LISTS', 0);
    define('SHOW_SUBSCRIBELINK', true);
    define('SHOW_PREFERENCESLINK', true);
    define('SHOW_UNSUBSCRIBELINK', true);

    define('SHOW_LIST_OFALL_SUBSCRIBERS', false);


    // define('WORDWRAP_HTML',60);

    define('DATE_START_YEAR', 0);
    define('DATE_END_YEAR', 0);

    define('EMPTY_VALUE_PREFIX', '--');

    define('USE_ADMIN_DETAILS_FOR_MESSAGES', 1);

    // define('ATTRIBUTEVALUE_REORDER_LIMIT',100);

    define('SEND_ONE_TESTMAIL', 0);

    define('REMOTE_URL_REFETCH_TIMEOUT', 3600);


    define('USERSPAGE_MAX', 1000);

    define('DEFAULT_MESSAGEAGE', 15768000);

    define('USE_REPETITION', 0);

    define('LANGUAGE_SWITCH', 1);

    define('ERROR404PAGE', '404.html');


    //define ('PHPMAILER_PATH','/usr/share/php/libphp-phpmailer/PHPMailerAutoload.php');
    define('PHPMAILERHOST', '');
    //define('PHPMAILERHOST','smtp1.mydomain.com:25;smtp2.mydomain.com:2500;smtp3.phplist.com:5123');
    //$phpmailer_smtpuser = 'smtpuser';
    //$phpmailer_smtppassword = 'smtppassword';
    // define('PHPMAILERPORT',25);
    // 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",'ssl');
    // define('PHPMAILER_SMTP_DEBUG', 0);
    // define('SMTP_TIMEOUT',5);
    define('POP_BEFORE_SMTP', false);
    define('POPBEFORESMTP_DEBUG', false);

    // define('ALWAYS_ADD_USERTRACK',0);
    define('CLICKTRACK', 0);

    define('CLICKTRACK_SHOWDETAIL', 0);
    define('UPLOADIMAGES_DIR', 'uploadimages');
    //define("UPLOADIMAGES_DIR","images/newsletter/uploaded");
    define('EMBEDEXTERNALIMAGES',false);



    define('USE_MANUAL_TEXT_PART', 0);


    define('ALLOW_ATTACHMENTS', 0);


    define('FILESYSTEM_ATTACHMENTS', 0);


    define('MIMETYPES_FILE', '/etc/mime.types');


    define('DEFAULT_MIMETYPE', 'application/octet-stream');

    //define("PLUGIN_ROOTDIR","/home/me/phplistplugins");


    define('PLUGIN_ROOTDIR', 'plugins');
    $attachment_repository = '/tmp';

    // the mime type for the export files. You can try changing this to
    // application/vnd.ms-excel to make it open automatically in excel
    // or text/tsv
    $export_mimetype = 'application/csv';

    // if you want to use export format optimized for Excel, set this one to 1
    define('EXPORT_EXCEL', 0);

    // tmpdir. A location where phplist can write some temporary files if necessary
    // Make sure it is writable by your webserver user, and also check that you have
    // open_basedir set to allow access to this directory. Linux users can leave it as it is.
    // this directory is used for all kinds of things, mostly uploading of files (like in
    // import), creating PDFs and more

    // On Linux based systems, it will be good to make sure this directory is on the same
    // filesystem as your phpList installation. In some systems, renaming files or directories
    // across filesystems fails.

    $tmpdir = '/tmp';

    // if you are on Windoze, and/or you are not using apache, in effect when you are getting
    // "Method not allowed" errors you will want to uncomment this
    // ie take off the #-character in the next line
    // using this is not guaranteed to work, sorry. Easier to use Apache instead :-)
    // $form_action = 'index.php';

    // select the database module to use
    // anyone wanting to submit other database modules is
    // very welcome!
    $database_module = 'mysqli.inc';

    // you can store sessions in the database instead of the default place by assigning
    // a tablename to this value. The table will be created and will not use any prefixes
    // this only works when using mysql and only for administrator sessions
    // $SessionTableName = "phplistsessions";

    /*

    =========================================================================

    Experimental Features
    * these are things that require a bit more fine tuning and feedback in the bugtracker

    =========================================================================

    */
    // email address validation level [Bas]
    // 0 = No email address validation. So PHPList can be used as a non-email-sending registration system.
    // 1 = 10.4 style email validation.
    // 2 = RFC821 email validation without escaping and quoting of local part.
    // 3 = RFC821 email validation.
    // This is an expirimental email address validation based on the original RFC. It will validate all kind
    // of 'weird' emails like !#$%&'*+-/=.?^_`{|}~@example.com and escaped\ spaces\ are\ allowed@[1.0.0.127]
    // not implemented are:
    //   Length of domainPart is not checked
    //   Not accepted are CR and LF even if escaped by \
    //   Not accepted is Folding
    //   Not accepted is literal domain-part (eg. [1.0.0.127])
    //   Not accepted is comments (eg. (this is a comment)@example.com)
    // Extra:
    //   topLevelDomain can only be one of the defined ones
    define('EMAIL_ADDRESS_VALIDATION_LEVEL', 2);

    // Time Zone
    // By default phpList will operate in the Timezone of your server. If you want to work
    // in a different Timezone, you can set that here. It will need to be a valid setting for
    // both PHP and Mysql. The value should be a city in the world
    // to find PHP timezones, check out http://php.net/manual/en/timezones.php
    // You will also need to tell Mysql about your timezones, which means you have to load the timezone
    // data in the Mysql Database, which you can find out about here:
    // http://dev.mysql.com/doc/refman/5.0/en/mysql-tzinfo-to-sql.html
    // make sure that the value you use works for both PHP and Mysql. If you find strange discrepancies
    // in the dates and times used in phpList, you probably used the wrong value.

    // define('SYSTEM_TIMEZONE','Europe/London');

    // HTTP_HOST
    // In some systems (eg behind load balancing proxies) you may need to set the HOST to be something else
    // then the system identifies. If you do, you can set it here.
    //define('HTTP_HOST','your.website.com');

    // list exclude will add the option to send a message to users who are on a list
    // except when they are on another list.
    define('USE_LIST_EXCLUDE', 0);

    //# message queue prepare
    // this option will handle the sending of the queue a little bit differently
    // it assumes running the queue many times in small batches
    // the first run will find all subscribers that need to receive a campaign and mark them all
    // as "todo" in the database. Subsequent calls will then work through the "todo" list and
    // send them. This can be useful if the SQL query to find subscribers for a campaign is slow
    // which is the case when your database is filling up.
    // set to 1 to use
    define('MESSAGEQUEUE_PREPARE', 0);

    // admin authentication module.
    // to validate the login for an administrator, you can define your own authentication module
    // this is not finished yet, so don't use it unless you're happy to play around with it
    // if you have modules to contribute, open a tracker issue at http://mantis.phplist.com
    // the default module is phplist_auth.inc, which you can find in the "auth" subdirectory of the
    // admin directory. It will tell you the functions that need to be defined for phplist to
    // retrieve it's information.
    // phplist will look for a file in that directory, or you can enter the full path to the file

    // eg
    //$admin_auth_module = 'phplist_auth.inc';

    // or
    //$admin_auth_module = '/usr/local/etc/auth.inc';

    // Public protocol
    // phpList will automatically use the protocol you run the admin interface on for clicktrack links and
    // tracking images
    // but if you want to force this to be http, when you eg run the admin on https, uncomment the below line
    // see also https://mantis.phplist.com/view.php?id=16611
    //define('PUBLIC_PROTOCOL','http');

    // Admin protocol
    // similar to the above, if you need to force the admin pages on either http or https (eg when behind a
    // proxy that prevents proper auto-detection), you can set it here
    //define('ADMIN_PROTOCOL','https');

    // advanced bounce processing
    // with advanced bounce handling you are able to define regular expressions that match bounces and the
    // action that needs to be taken when an expression matches. This will improve getting rid of bad emails in
    // your system, which will be a good thing for making sure you are not being blacklisted by other
    // mail systems
    // if you use this, you will need to teach your system regularly about patterns in new bounces
    define('USE_ADVANCED_BOUNCEHANDLING', 0);

    // When forwarding ('to a friend') the message will be using the attributes of the destination email by default.
    // This often means the message gets stripped of al its attributes.
    // When setting this constant to 1, the message will use the attributes of the forwarding user. It can be used
    // to connect the destinatory to the forwarder and/or reward the forwarder.
    define('KEEPFORWARDERATTRIBUTES', 0);

    // forward to friend, multiple emails
    // This setting defines howmany email addresses you can enter in the forward page.
    // Default is 1 to not change behaviour from previous version.
    define('FORWARD_EMAIL_COUNT', 1);

    // forward to friend - personal message
    // Allow user to add a personal note when forwarding 'to a friend'
    // 0 will turn this option off. default is 0 to not change behaviour from previous version.
    // 500 is recommended as a sound value to write a little introductory note to a friend
    // The note is prepeded to both text and html messages and will be stripped of all html
    define('FORWARD_PERSONAL_NOTE_SIZE', 0);

    // different content when forwarding 'to a friend'
    // Allow admin to enter a different message that will be sent when forwarding 'to a friend'
    // This will show an extra tab in the message dialog.
    define('FORWARD_ALTERNATIVE_CONTENT', 0);

These is my ERROR… How can i solve it ?

From Postman it working fine.
From Manually it wirking fine.
But From command line it not working.

**My command Line**

    /usr/local/bin/php -q /home/zestards/public_html/lists/admin/index.php -p processqueue -c /home/zestards/public_html/lists/config/config.php

Please note that you should make your changes in config.php only, config_extended.php is not used by phpList.
http://dragonrider.co.uk/index.php/phplist-menu/305-phplist-which-config-file-should-i-use

I m using PHPList version 3.3.3.

only database connective is in config.php file. The main configuration in config_extended.php file.

so , may i config_extended.php file rename in into config.php file ? and delete config.php file…?
Right ?

I am trying to send welcome mail while installing Shopify App. this is my shopify-laravel code

/* PHPLIST START */
                    $subpost_params = 'cmd=login&login=admin&password=********&cmd=listSubscribers&list_id=2';
                    $GetSubscruberAPIs = $sh->callApi($subpost_params);
                    $email_array = array();
                    foreach ($GetSubscruberAPIs->data as $key => $data) {
                        $email_array[] = $data->email;
                    }
                    if (!in_array("vijay2244@yopmail.com", $email_array)) {
                    $post_params ='cmd=login&login=admin&password=****************&cmd=subscriberAdd&email=vijay2244@yopmail.com&confirmed=1&htmlemail=1';
                        $LoginAPIs = $sh->callApi($post_params);
                        if ($LoginAPIs->data->id != '') {
                            $post_params1 = 'cmd=login&login=admin&password=************&cmd=listSubscriberAdd&list_id=2&subscriber_id=' . $LoginAPIs->data->id;
                            $LoginAPIs1 = $sh->callApi($post_params1);
                        }
                    }
                    /* PHPLIST END */

This is my function for CURL

public function callApi($post_params, $decode = true) {
        
        // Serialise and encode query
        $service_url = 'http://zestardshop.com/lists/admin/?page=call&pi=restapi';
        // Prepare cURL
        $c = curl_init();
        curl_setopt($c, CURLOPT_URL, $service_url);
        curl_setopt($c, CURLOPT_HEADER, 0);
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($c, CURLOPT_POST, 1);
        curl_setopt($c, CURLOPT_POSTFIELDS, $post_params);
        $result = curl_exec($c);

        if (curl_errno($c)) {
            print "Error: " . curl_error($c) . PHP_EOL;
        }
        // Check if decoding of result is required
        if ($decode === true) {
            $result = json_decode($result);
        }
        //echo "<pre>";print_r($result);die;
        return $result;
    }

Using these code adding subscriber into the particular list. but Autoresponder status
Subscribers ready | not ready | already sent => 1 | 0 | 0.

it never set already sent = 1 (mail already sent)

When I use postman it will send mail successfully and it set already sent = 1 (mail already sent)
Subscribers ready | not ready | already sent => 0 | 0 | 1.
But using these code it only set Subscribers ready | not ready | already sent => 1 | 0 | 0.

So your question now appears to be really about the Autoresponder plugin.

Please start a new topic and explain as clearly as you can what the actual problem is. Do not add your config file or other extracts of code, just explain what you think is not working as simply as possible.

okay sir.
Please find a new topic New Topic