magicdude4eva / port25-bouncehandler

Port25 PowerMTA bounce handler for Interspire and MailWizz
MIT License
73 stars 42 forks source link

Email ID's are not marked as unsubcribed #14

Closed sameerrocks closed 6 years ago

sameerrocks commented 6 years ago

with referance to your lne in README file

You can manage bulk-unsubscribes via standalone. The only pre-requisite is a CSV file which contains an email-address in the first column of the file.

:warning: With Standalone processing we will always unsubscribe from all configured providers, so make sure that your CSV file is correct. We do however log from which lists a recipient is unsubscribed, so in case something goes wrong, you can find out which addresses are affected.

Email ID's are not marked as unsubcribed

my bounce.csv is very simple it has got 3 email ids in first column..

im getting below outout every time when i do standalone test

[08/Oct/2017 18:53:38] ------------------------------------------------------------------ [08/Oct/2017 18:53:38] Port25 PowerMTA bounce-handler [08/Oct/2017 18:53:38] (C) 2016-2017 Gerd Naschenweng https://github.com/magicdude4eva [08/Oct/2017 18:53:38] ------------------------------------------------------------------ [08/Oct/2017 18:53:38] Handling bounce categories=bad-mailbox,bad-domain,routing-errors,inactive-mailbox,spam-related,policy-related [08/Oct/2017 18:53:38] Soft-bounce categories=bad-configuration,bad-connection,content-related,invalid-sender,other,policy-related,quota-issues,spam-related,virus-related [08/Oct/2017 18:53:38] Bounce-provider: Interspire, initialising [08/Oct/2017 18:53:38] Skipped - not configured! [08/Oct/2017 18:53:38] Bounce-provider: MailWizz, initialising [08/Oct/2017 18:53:38] Endpoint-URL=http://domainname.com/mailwizz/api [08/Oct/2017 18:53:38] MailWizz enabled! [08/Oct/2017 18:53:38] Bounce-provider: MailWizz, complete [08/Oct/2017 18:53:38] Starting bounce processing [08/Oct/2017 18:53:38] MailWizz: Failed looking up record zuika1987@icloud.com with status=error [08/Oct/2017 18:53:38] MailWizz: Failed looking up record zubi9@hotmail.co.uk with status=error [08/Oct/2017 18:53:38] MailWizz: Failed looking up record ztamas@freemail.hu with status=error [08/Oct/2017 18:53:38] Completed bounce processing! Total records=3, processed=3, skipped=0

Please HELP me im almost there..i really liked your script just stuck here..

your help will be appreciated..

thanks in advance

magicdude4eva commented 6 years ago

Does the debug option return anything meaningful - i.e.

cat /tmp/bounce.csv | php /opt/pmta/bouncehandler/bouncehandler.php --debug

My suggestion would be to add the print_r line to /opt/pmta/bouncehandler/providers/bounce-provider-mailwizz.php at https://github.com/magicdude4eva/port25-bouncehandler/blob/master/providers/bounce-provider-mailwizz.php#L91

  // Check if subscriber exists
  $response = $MailWizzSubscriberEndPoint->emailSearchAllLists($recipient, $pageNumber = 1, $perPage = 30);

  print_r ($response);

This will then print out the full response from MailWizz. Your issue might be related to this: https://github.com/magicdude4eva/port25-bouncehandler/issues/9

sameerrocks commented 6 years ago

Hello Sir,

Thanks for reply..

im getting below when use index.php

object(MailWizzApi_Http_Response)#17 (11) { ["url"]=> string(111) "http://domain.com/mwz/api/**index.php**/lists/subscribers/search-by-email-in-all-lists?EMAIL=ztamas%40freemail.hu" ["headers"]=> NULL ["contentType"]=> string(31) "application/json; charset=UTF-8" ["httpMessage"]=> string(2) "OK" ["curlCode"]=> int(0) ["curlMessage"]=> string(0) "" ["storeCurlInfo"]=> bool(false) ["curlInfo"]=> NULL ["body"]=> object(MailWizzApi_Params)#14 (2) { ["_data":"MailWizzApi_Params":private]=> array(0) { } ["_readOnly":"MailWizzApi_Params":private]=> bool(false) } ["request"]=> NULL ["_httpCode":"MailWizzApi_Http_Response":private]=> int(200) }

sameerrocks commented 6 years ago

Hello

I added $log->lwrite(' MailWizz: response for ' . var_dump($response) . ':');
just above $log->lwrite(' MailWizz: Failed looking up record ' . $recipient . ' with status=' . $response->body['status']);

also when i use simply http://twiktter.com/mwz/api

then i get below response -

[09/Oct/2017 06:02:53] ------------------------------------------------------------------ [09/Oct/2017 06:02:53] Port25 PowerMTA bounce-handler [09/Oct/2017 06:02:53] (C) 2016-2017 Gerd Naschenweng https://github.com/magicdude4eva [09/Oct/2017 06:02:53] ------------------------------------------------------------------ [09/Oct/2017 06:02:53] Handling bounce categories=bad-mailbox,bad-domain,routing-errors,inactive-mailbox,spam-related,policy-related [09/Oct/2017 06:02:53] Soft-bounce categories=bad-configuration,bad-connection,content-related,invalid-sender,other,policy-related,quota-issues,spam-related,virus-related [09/Oct/2017 06:02:53] Bounce-provider: Interspire, initialising [09/Oct/2017 06:02:53] Skipped - not configured! [09/Oct/2017 06:02:53] Bounce-provider: MailWizz, initialising [09/Oct/2017 06:02:53] Endpoint-URL=http://domain.com/mwz/api [09/Oct/2017 06:02:53] MailWizz enabled! [09/Oct/2017 06:02:53] Bounce-provider: MailWizz, complete [09/Oct/2017 06:02:53] Starting bounce processing object(MailWizzApi_Http_Response)#19 (11) { ["url"]=> string(103) "http://domain.com/mwz/api/lists/subscribers/search-by-email-in-all-lists?EMAIL=zuika1987%40icloud.com" ["headers"]=> NULL ["contentType"]=> string(29) "text/html; charset=iso-8859-1" ["httpMessage"]=> string(9) "Not Found" ["curlCode"]=> int(0) ["curlMessage"]=> string(0) "" ["storeCurlInfo"]=> bool(false) ["curlInfo"]=> NULL ["body"]=> object(MailWizzApi_Params)#18 (2) { ["_data":"MailWizzApi_Params":private]=> array(2) { ["status"]=> string(5) "error" ["error"]=> string(9) "Not Found" } ["_readOnly":"MailWizzApi_Params":private]=> bool(false) } ["request"]=> NULL ["_httpCode":"MailWizzApi_Http_Response":private]=> int(404) } [09/Oct/2017 06:02:53] MailWizz: response for : [09/Oct/2017 06:02:53] MailWizz: Failed looking up record zuika1987@icloud.com with status=error object(MailWizzApi_Http_Response)#17 (11) { ["url"]=> string(102) "http://domain.com/mwz/api/lists/subscribers/search-by-email-in-all-lists?EMAIL=zubi9%40hotmail.co.uk" ["headers"]=> NULL ["contentType"]=> string(29) "text/html; charset=iso-8859-1" ["httpMessage"]=> string(9) "Not Found" ["curlCode"]=> int(0) ["curlMessage"]=> string(0) "" ["storeCurlInfo"]=> bool(false) ["curlInfo"]=> NULL ["body"]=> object(MailWizzApi_Params)#14 (2) { ["_data":"MailWizzApi_Params":private]=> array(2) { ["status"]=> string(5) "error" ["error"]=> string(9) "Not Found" } ["_readOnly":"MailWizzApi_Params":private]=> bool(false) } ["request"]=> NULL ["_httpCode":"MailWizzApi_Http_Response":private]=> int(404) } [09/Oct/2017 06:02:53] MailWizz: response for : [09/Oct/2017 06:02:53] MailWizz: Failed looking up record zubi9@hotmail.co.uk with status=error object(MailWizzApi_Http_Response)#9 (11) { ["url"]=> string(101) "http://domain.com/mwz/api/lists/subscribers/search-by-email-in-all-lists?EMAIL=ztamas%40freemail.hu" ["headers"]=> NULL ["contentType"]=> string(29) "text/html; charset=iso-8859-1" ["httpMessage"]=> string(9) "Not Found" ["curlCode"]=> int(0) ["curlMessage"]=> string(0) "" ["storeCurlInfo"]=> bool(false) ["curlInfo"]=> NULL ["body"]=> object(MailWizzApi_Params)#10 (2) { ["_data":"MailWizzApi_Params":private]=> array(2) { ["status"]=> string(5) "error" ["error"]=> string(9) "Not Found" } ["_readOnly":"MailWizzApi_Params":private]=> bool(false) } ["request"]=> NULL ["_httpCode":"MailWizzApi_Http_Response":private]=> int(404) } [09/Oct/2017 06:02:53] MailWizz: response for : [09/Oct/2017 06:02:53] MailWizz: Failed looking up record ztamas@freemail.hu with status=error [09/Oct/2017 06:02:53] Completed bounce processing! Total records=3, processed=3, skipped=0

sameerrocks commented 6 years ago

Hello Sir,

I have also changed setting as you said -

DONE "DISABLE SIGNATURE CHECK" to "YES" in Settings->API - direct URL: https://domain.com/backend/settings/api

still im getting above responses..

Please HELP

sameerrocks commented 6 years ago

Hello sir,

FYI

i have mailwizz 1.4.3 installed on my domain (Fresh install) ( also im using lastest content from https://github.com/twisted1919/mailwizz-php-sdk/tree/master/MailWizzApi ) and i have created API key from customer account added that key to setup.php --> then just created a list --> then uploaded few thousand subscribers --> the bounce file has got 3 email ID's which i already have in the subscriber list in maiwizz..

please helpp

sameerrocks commented 6 years ago

hello sir ,,

this time im doing it this way

// Check if subscriber exists $response = $MailWizzSubscriberEndPoint->emailSearchAllLists($recipient, $pageNumber = 1, $perPage = 30);

print_r ($response);

command :: cat /opt/pmta/bouncehandler/bounce.csv | /usr/local/bin/php /opt/pmta/bouncehandler/bouncehandler.php

Response ::

[09/Oct/2017 06:12:56] ------------------------------------------------------------------ [09/Oct/2017 06:12:56] Port25 PowerMTA bounce-handler [09/Oct/2017 06:12:56] (C) 2016-2017 Gerd Naschenweng https://github.com/magicdude4eva [09/Oct/2017 06:12:56] ------------------------------------------------------------------ [09/Oct/2017 06:12:56] Handling bounce categories=bad-mailbox,bad-domain,routing-errors,inactive-mailbox,spam-related,policy-related [09/Oct/2017 06:12:56] Soft-bounce categories=bad-configuration,bad-connection,content-related,invalid-sender,other,policy-related,quota-issues,spam-related,virus-related [09/Oct/2017 06:12:56] Bounce-provider: Interspire, initialising [09/Oct/2017 06:12:56] Skipped - not configured! [09/Oct/2017 06:12:56] Bounce-provider: MailWizz, initialising [09/Oct/2017 06:12:56] Endpoint-URL=http://domain.com/mwz/api [09/Oct/2017 06:12:56] MailWizz enabled! [09/Oct/2017 06:12:56] Bounce-provider: MailWizz, complete [09/Oct/2017 06:12:56] Starting bounce processing MailWizzApi_Http_Response Object ( [url] => http://domain.com/mwz/api/lists/subscribers/search-by-email-in-all-lists?EMAIL=zuika1987%40icloud.com [headers] => [contentType] => text/html; charset=iso-8859-1 [httpMessage] => Not Found [curlCode] => 0 [curlMessage] => [storeCurlInfo] => [curlInfo] => [body] => MailWizzApi_Params Object ( [_data:MailWizzApi_Params:private] => Array ( [status] => error [error] => Not Found )

        [_readOnly:MailWizzApi_Params:private] =>
    )

[request] =>
[_httpCode:MailWizzApi_Http_Response:private] => 404

) [09/Oct/2017 06:12:56] MailWizz: Failed looking up record zuika1987@icloud.com with status=error MailWizzApi_Http_Response Object ( [url] => http://domain.com/mwz/api/lists/subscribers/search-by-email-in-all-lists?EMAIL=zubi9%40hotmail.co.uk [headers] => [contentType] => text/html; charset=iso-8859-1 [httpMessage] => Not Found [curlCode] => 0 [curlMessage] => [storeCurlInfo] => [curlInfo] => [body] => MailWizzApi_Params Object ( [_data:MailWizzApi_Params:private] => Array ( [status] => error [error] => Not Found )

        [_readOnly:MailWizzApi_Params:private] =>
    )

[request] =>
[_httpCode:MailWizzApi_Http_Response:private] => 404

) [09/Oct/2017 06:12:56] MailWizz: Failed looking up record zubi9@hotmail.co.uk with status=error MailWizzApi_Http_Response Object ( [url] => http://domain.com/mwz/api/lists/subscribers/search-by-email-in-all-lists?EMAIL=ztamas%40freemail.hu [headers] => [contentType] => text/html; charset=iso-8859-1 [httpMessage] => Not Found [curlCode] => 0 [curlMessage] => [storeCurlInfo] => [curlInfo] => [body] => MailWizzApi_Params Object ( [_data:MailWizzApi_Params:private] => Array ( [status] => error [error] => Not Found )

        [_readOnly:MailWizzApi_Params:private] =>
    )

[request] =>
[_httpCode:MailWizzApi_Http_Response:private] => 404

) [09/Oct/2017 06:12:56] MailWizz: Failed looking up record ztamas@freemail.hu with status=error [09/Oct/2017 06:12:56] Completed bounce processing! Total records=3, processed=3, skipped=0

Please check

sameerrocks commented 6 years ago

Hello Sir,

i cant see any subscriber status change for 3 EmailID's in mailwiz?

these 3 email ID's should change to blacklisted status.. it just stays unchanged..

Please help

magicdude4eva commented 6 years ago

Not found means that the subscriber does not exist or that the 404 could also mean that the URL is incorrect. I would verify both.

sameerrocks commented 6 years ago

Case 1- subcriber does exist as i can see these 3 subscribers in mailwizz app all subscribers list .. Case 2- when we change /api/ to /api/index.php Http 404 error changes to http 200 But still it doesnt do the blacklisting job..

masharif46 commented 6 years ago

Check log

sameerrocks commented 6 years ago

Log shows rrd.so warning , i feel that’s irrelevant to this issue as i read in earlier thread that its not mandatory.. i have turned rrd off from setup.php

Anything else ??

Please help

magicdude4eva commented 6 years ago

The manual bounce-handling does an unsubscribe of emails from all lists. It will not blacklist any email. This is intended behaviour.

sameerrocks commented 6 years ago

Ok if that it does not blacklist then atleast unsubscribe.. it is not even unsubscribing ..

No status changes in mailwizz

masharif46 commented 6 years ago

@sameerrocks if you are using mailwizz 1.4.3 then need to edit mailwizz backend php file.

follow this https://github.com/magicdude4eva/port25-bouncehandler/releases/tag/1.3

sameerrocks commented 6 years ago

@masharif46 tried this but its still gives the same error

masharif46 commented 6 years ago

PowerMTA version?

sameerrocks commented 6 years ago

@masharif46 PowerMTA™ 4.0r6 -->> im using standalone bounce processing does it anyway related to powerMTA version??

masharif46 commented 6 years ago

It's not working! Update powerMTA 4.5r1 or later but remember valid license

sameerrocks commented 6 years ago

yea but then it has nothing to deal with powermta version as im processing it via standalone method -

(from README)

Standalone processing

You can manage bulk-unsubscribes via standalone. The only pre-requisite is a CSV file which contains an email-address in the first column of the file.

To run the standalone processing you simply pipe the CSV file into the bounce-handler:

cat bounce.csv | /usr/local/bin/php ./bouncehandler/bouncehandler.php
sameerrocks commented 6 years ago

@masharif46 @magicdude4eva

Guys its working now

what i done - followed this @sameerrocks if you are using mailwizz 1.4.3 then need to edit mailwizz backend php file.

follow this https://github.com/magicdude4eva/port25-bouncehandler/releases/tag/1.3

and then appended link with /index.php

define("MAILWIZZ_ENDPOINT_URL", "http://domain.com/mwz/api/index.php");

STANDALONE thing is working -- Thanks a ton to you guys 👍

now i will be testing automatic version of this

cheers

sameerrocks commented 6 years ago

Hello

i have got same issue on another server..

it works fine on my first server but doesnt work with another it has got the same issue..

sameerrocks commented 6 years ago

can you please troubleshoot?

i have same configuration and also same files on both the server in /bouncehandler/ except the setup.php ..

it doesnt work :( it doesnt generate any error log so unable to find any clue why this is happening