Sendy Integration & Newsletters

Sendy Integration & Newsletters [Paid] 2023-08-10

No permission to buy ($50.00)
Which IP address is Sendy using if I use this addon? The IP address of the forum on which I install this addon and Sendy or an Amazon IP address?

The free IP addresses of Amazon are very often on blacklists.

Amazon SES offers to send newletters with a dedicated IP address just for you. But this costs 25 USD per month extra.

Anybody?

@truonglv
 
Which IP address is Sendy using if I use this addon? The IP address of the forum on which I install this addon and Sendy or an Amazon IP address?

The free IP addresses of Amazon are very often on blacklists.

Amazon SES offers to send newletters with a dedicated IP address just for you. But this costs 25 USD per month extra.

Sendy does not send mails but transfer them to Amazon SES, from where they will be sended to the recipients. So your emails are sent out using Amazon SES IP addresses by default.

I can not confirm your statement:
The free IP addresses of Amazon are very often on blacklists.
I our expirience sending with Amazon SES works very well and flawlessly without any SPAM or other bounces. We use it with our own Sendy <> XF connector for monthly newsletters to 100.000+ recipients.

If you would like a dedicated sending ip address, you can have it (and buy for it). But -as said- this is not needed for regular forum owners.
 
Which IP address is Sendy using if I use this addon? The IP address of the forum on which I install this addon and Sendy or an Amazon IP address?

The free IP addresses of Amazon are very often on blacklists.

Amazon SES offers to send newletters with a dedicated IP address just for you. But this costs 25 USD per month extra.
This add-on just send campaigns, subs to Sendy and Sendy will resposibilities to send email to users. So IP will be Sendy settings
 
Does this addon works with more than one forum if you have only 1 Sendy installation but for each forum a specific addon?

Scenario

Sendy is installed on domain0.com only. Nowhere else.
No custom domain package of Sendy.
There is no forum installed on domain0.com, therefore no @truonglv addon on domain0.com.

  • Forum1 is installed on domain1.com - this addon with license #1 is installed in that forum1 - no Sendy is installed.
  • Forum2 is installed on domain2.com - this addon with license #2 is installed in that forum2 - no Sendy is installed.
  • Forum3 is installed on domain3.com - this addon with license #3 is installed in that forum3 - no Sendy is installed.
  • Forum4 is installed on domain4.com - this addon with license #4 is installed in that forum4 - no Sendy is installed.
  • .... you get the point...
How does the addon #1, #2, #3, #4 etc. communicate with that single Sendy installation so the newsletters get not mixed accidentely? Same question for bounces, unsubscribes etc.?

Is this technically possible at all?

Or do I have to install on every domain on which I want to use this addon also Sendy?
 
Does this addon works with more than one forum if you have only 1 Sendy installation but for each forum a specific addon?

Scenario

Sendy is installed on domain0.com only. Nowhere else.
No custom domain package of Sendy.
There is no forum installed on domain0.com, therefore no @truonglv addon on domain0.com.

  • Forum1 is installed on domain1.com - this addon with license #1 is installed in that forum1 - no Sendy is installed.
  • Forum2 is installed on domain2.com - this addon with license #2 is installed in that forum2 - no Sendy is installed.
  • Forum3 is installed on domain3.com - this addon with license #3 is installed in that forum3 - no Sendy is installed.
  • Forum4 is installed on domain4.com - this addon with license #4 is installed in that forum4 - no Sendy is installed.
  • .... you get the point...
How does the addon #1, #2, #3, #4 etc. communicate with that single Sendy installation so the newsletters get not mixed accidentely? Same question for bounces, unsubscribes etc.?

Is this technically possible at all?

Or do I have to install on every domain on which I want to use this addon also Sendy?
Yes. Sendy supports brand and this add-on supports it too.
 
Hi,

I just installed this addon in a test forum, but it seems not intuitive to make the right settings. Installation went fine. I put my data in the XF/ACP/addons/youraddon/ option dropdown:

XF_options.webp

But what is now the next step?

After that I went within XF to ACP -> Communication -> Subscription lists and clicked on "add subscription list"

This pop up appears:

add_subscription_list.webp

I can not add here a list ID. Nothing appears in the drop down for List ID?

What shall I do now?
 
ok, I think I found the right procedure:

1. Within Sendy
  • Go to Sendy ACP,
  • pick your brand in the drop down of the upper left hand corner (if you have several brands/domainnames)
  • On the left hand go to "view all lists"
  • Add a new list for your brand/domain name

2. Within XF

A. Create a newsletter item


  • Go to Communication -> Sendy integration -> newsletter items
  • Click on "add newsletter item"
  • Choose the one you created beforehand in step #1 above within Sendy
  • Make your individual settings and save

B. Create a list
  • Go to Communication -> Sendy integration -> Subscription lists
  • Click on "add subscription list"
  • At the List ID drop down, pick the newsletter item you just created beforehand in step 2.A. above
  • Make your individual settings for the other fields and save

I will try to find out now how to proceed further...

@truonglv
  • How do I import all users of my Xenforo forum into this list (with username)?
  • How do I actually send a test newsletter out to be able to verify that bounce emails are working properly and to send it to mail-tester.com?
 
Last edited:
There seems to be a bug in version 4.17.

Although I disabled in XF ACP both cronjobs for the information for teh webmaster, I get almost every minute the same email:

"The campaign mycampaigname has been created. If you would like to review this campaign, please visit to your Sendy installation"

This should not be sent to me, if both cron jobs are disabled.
 
Hi,

I just installed this addon in a test forum, but it seems not intuitive to make the right settings. Installation went fine. I put my data in the XF/ACP/addons/youraddon/ option dropdown:

View attachment 287947

But what is now the next step?

After that I went within XF to ACP -> Communication -> Subscription lists and clicked on "add subscription list"

This pop up appears:

View attachment 287948

I can not add here a list ID. Nothing appears in the drop down for List ID?

What shall I do now?
For first install. Please manual run cron to fetch lists.
 
There seems to be a bug in version 4.17.

Although I disabled in XF ACP both cronjobs for the information for teh webmaster, I get almost every minute the same email:

"The campaign mycampaigname has been created. If you would like to review this campaign, please visit to your Sendy installation"

This should not be sent to me, if both cron jobs are disabled.
Can you capture the campaign page?
 
For first install. Please manual run cron to fetch lists.

Which cron job do I have to run manually?

I tried already the 2 cronjobs:
  • [tl] Sendy Integration: Automatically push (every minutes) [tl] Sendy Integration & Newsletters
  • [tl] Sendy Integration: Run hourly [tl] Sendy Integration & Newsletters

This does not change anything. In the subscription list (XF ACP/Communication/Subscription lists) it still shows "0 subscribed, 0 unsubscribed"
 
Last edited:
Dear @truonglv,

I am currently trying to configure and use this add-on for the first time.

I have a few points that I don't understand and would appreciate your assistance.

1. Can I add additional user identity information? I have created many in the Custom user fields, but I don't see them displayed here.
Screenshot 2023-08-18 230449.webp

2. What information should be filled in the Popup content HTML section? Could you provide me with an example?
Screenshot 2023-08-18 230516.webp

My purpose for using this is to have visitors enter their email registration information.

Thank you for your help.

Sincerely,
 
@truonglv I get these errors lately, and idea?


Code:
XF\Db\DeadlockException: Job Truonglv\Sendy:Queue: MySQL query error [1213]: Deadlock found when trying to get lock; try restarting transaction src/XF/Db/AbstractStatement.php:230
Generated by: Unknown account 2/2/24 at 05:39

Stack trace
INSERT  INTO `xf_tsi_queue` (`action`, `action_data`, `action_key`, `queue_date`) VALUES ('push_subscriptions_on_register','{\"user_id\":40803,\"skipCampaignIds\":[]}','tsi_pushUser40803',1706845202),
('push_subscriptions_on_register','{\"user_id\":41085,\"skipCampaignIds\":[]}','tsi_pushUser41085',1706845202) ON DUPLICATE KEY UPDATE `action`=VALUES(`action`),`action_data`=VALUES(`action_data`),`queue_date`=VALUES(`queue_date`)
------------

#0 src/XF/Db/Mysqli/Statement.php(198): XF\Db\AbstractStatement->getException('MySQL query err...', 1213, '40001')
#1 src/XF/Db/Mysqli/Statement.php(78): XF\Db\Mysqli\Statement->getException('MySQL query err...', 1213, '40001')
#2 src/XF/Db/AbstractAdapter.php(96): XF\Db\Mysqli\Statement->execute()
#3 src/XF/Db/AbstractAdapter.php(273): XF\Db\AbstractAdapter->query('INSERT  INTO `x...')
#4 src/addons/Truonglv/Sendy/Repository/Queue.php(64): XF\Db\AbstractAdapter->insertBulk('xf_tsi_queue', Array, false, '`action`=VALUES...')
#5 src/addons/Truonglv/Sendy/Job/Queue.php(58): Truonglv\Sendy\Repository\Queue->enqueues(Array)
#6 src/XF/Job/Manager.php(260): Truonglv\Sendy\Job\Queue->run(8)
#7 src/XF/Job/Manager.php(202): XF\Job\Manager->runJobInternal(Array, 8)
#8 src/XF/Job/Manager.php(86): XF\Job\Manager->runJobEntry(Array, 8)
#9 src/XF/Cli/Command/RunJobs.php(59): XF\Job\Manager->runQueue(false, 8)
#10 src/vendor/symfony/console/Command/Command.php(255): XF\Cli\Command\RunJobs->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 src/vendor/symfony/console/Application.php(992): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 src/vendor/symfony/console/Application.php(255): Symfony\Component\Console\Application->doRunCommand(Object(XF\Cli\Command\RunJobs), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 src/vendor/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 src/XF/Cli/Runner.php(111): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 cmd.php(15): XF\Cli\Runner->run()
#16 {main}

Request state
array(1) {
  ["cli"] => string(43) "/home/admin/public_html/cmd.php xf:run-jobs"
}
 
@truonglv I get these errors lately, and idea?


Code:
XF\Db\DeadlockException: Job Truonglv\Sendy:Queue: MySQL query error [1213]: Deadlock found when trying to get lock; try restarting transaction src/XF/Db/AbstractStatement.php:230
Generated by: Unknown account 2/2/24 at 05:39

Stack trace
INSERT  INTO `xf_tsi_queue` (`action`, `action_data`, `action_key`, `queue_date`) VALUES ('push_subscriptions_on_register','{\"user_id\":40803,\"skipCampaignIds\":[]}','tsi_pushUser40803',1706845202),
('push_subscriptions_on_register','{\"user_id\":41085,\"skipCampaignIds\":[]}','tsi_pushUser41085',1706845202) ON DUPLICATE KEY UPDATE `action`=VALUES(`action`),`action_data`=VALUES(`action_data`),`queue_date`=VALUES(`queue_date`)
------------

#0 src/XF/Db/Mysqli/Statement.php(198): XF\Db\AbstractStatement->getException('MySQL query err...', 1213, '40001')
#1 src/XF/Db/Mysqli/Statement.php(78): XF\Db\Mysqli\Statement->getException('MySQL query err...', 1213, '40001')
#2 src/XF/Db/AbstractAdapter.php(96): XF\Db\Mysqli\Statement->execute()
#3 src/XF/Db/AbstractAdapter.php(273): XF\Db\AbstractAdapter->query('INSERT  INTO `x...')
#4 src/addons/Truonglv/Sendy/Repository/Queue.php(64): XF\Db\AbstractAdapter->insertBulk('xf_tsi_queue', Array, false, '`action`=VALUES...')
#5 src/addons/Truonglv/Sendy/Job/Queue.php(58): Truonglv\Sendy\Repository\Queue->enqueues(Array)
#6 src/XF/Job/Manager.php(260): Truonglv\Sendy\Job\Queue->run(8)
#7 src/XF/Job/Manager.php(202): XF\Job\Manager->runJobInternal(Array, 8)
#8 src/XF/Job/Manager.php(86): XF\Job\Manager->runJobEntry(Array, 8)
#9 src/XF/Cli/Command/RunJobs.php(59): XF\Job\Manager->runQueue(false, 8)
#10 src/vendor/symfony/console/Command/Command.php(255): XF\Cli\Command\RunJobs->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 src/vendor/symfony/console/Application.php(992): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 src/vendor/symfony/console/Application.php(255): Symfony\Component\Console\Application->doRunCommand(Object(XF\Cli\Command\RunJobs), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 src/vendor/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 src/XF/Cli/Runner.php(111): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 cmd.php(15): XF\Cli\Runner->run()
#16 {main}

Request state
array(1) {
  ["cli"] => string(43) "/home/admin/public_html/cmd.php xf:run-jobs"
}
Does this error comes frequently or just a few?
 
Top Bottom