newsletters | A simple email newsletter module for PyroCMS | Email library

 by   zvineyard PHP Version: Current License: Non-SPDX

kandi X-RAY | newsletters Summary

kandi X-RAY | newsletters Summary

newsletters is a PHP library typically used in Messaging, Email applications. newsletters has no bugs, it has no vulnerabilities and it has low support. However newsletters has a Non-SPDX License. You can download it from GitHub.

The PyroCMS Newsletter module allows you to create email "blasts" to send to your email newsletter subscribers. Add a subscribe form (widget included) to your website and start an email newsletter! Comes with 4 email templates to get you started and has extremely flexible send options. Administrators can send emails using a browser or schedule a cron job to make it automatic at a specified time each hour/day/week. Generates email open statistics and allows you to track the number of clicks on links embedded in the newsletter. Edit the newsletters and insert images using the familiar WYSIWYG editor. This module was included in PyroCMS Professional until version 2.1 and sold on the PyroCMS add-on store. I've now pulled it out of the core of PyroCMS and licensed it under the Apache 2 license. Your pull requests, translations, and updates for new PyroCMS versions are all welcome! If you find a problem with the module please create a new Issue here on Github. To collect email addresses use the Newsletter Subscribe widget or create a Navigation link to Select a predefined template from the dropdown box. If you would like to edit a default template you may do so in the Template Manager. Note: the template cannot be changed when editing an existing newsletter. Choose the template carefully when creating a new newsletter. The Newsletter Subject will show in the recipient's email subject line and will have the site name + Newsletter appended to it. Example subject line: v2.0 will be released on 01/01/2015! | Acme Software Newsletter. If this option is selected the newsletter module will add an invisible tracking image to the email. This is used in combination with Tracked URLs to generate statistics. This will not work if you are sending plain text emails. If you want to place links in the email and track the recipient's clicks simply put the web address in the Target URL box and a unique link will be generated. Copy & Paste the generated link into the email body and it will be tracked. This works in html emails & plain text emails. You can test your links from the View page after the newsletter has been saved. Creating a newsletter is very similar to creating page content. Use the WYSIWYG editor to generate the html that will be used in the email. You may insert images into the email like you would in page content. When the newsletter is sent the image links will be changed to absolute links so they can be read from any email client. The images are not actually sent in the email, the email just links to your server. Consequently you must not delete the images until you believe that all recipients have finished reading the email. The way you send the newsletter depends on the Settings for this module. If the Email Limit is set to 0 the link will display as "Send All" and the Newsletter Module will send 50 emails at a time until all emails are successfully sent or the page is closed. If you set the Email Limit to a number greater than 0 the link will display as "Send Batch" and only that number of emails will send. You will have to click the link again to send the next batch. This feature allows you to send newsletters (slowly) even if your host limits the number of emails you can send per day or per hour. If you select Enable Cron in Settings the link will display as "Send Cron". When you click the link it will simply mark the newsletter as "ready" and it will be sent with the next cron job. The Email limit can be set or you may leave it as 0 to send all emails at once. If have a cron job that runs at midnight and the limit is less than your number of subscribers it may take a couple nights to send all emails. To send newsletters with cron load
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              newsletters has a low active ecosystem.
              It has 16 star(s) with 18 fork(s). There are 6 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 3 open issues and 0 have been closed. There are 1 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of newsletters is current.

            kandi-Quality Quality

              newsletters has no bugs reported.

            kandi-Security Security

              newsletters has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              newsletters has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              newsletters releases are not available. You will need to build from source code and install.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of newsletters
            Get all kandi verified functions for this library.

            newsletters Key Features

            No Key Features are available at this moment for newsletters.

            newsletters Examples and Code Snippets

            No Code Snippets are available at this moment for newsletters.

            Community Discussions

            QUESTION

            Bootstrap 4 - why is text encroaching padding? How do I stop that?
            Asked 2021-Jun-12 at 08:51

            I have a very simple bs4 layout. My left-menu is

            and my center-main-content is and my right-menu is . Here is a view of the layout via Chrome dev-tool. Green is padding and blue is content. You can see that there is a nice space between the lef-menu and the center-main-content, however, there is no space between center-main-content and the right-menu.

            Upon further review, I found that actually text is encroaching into the padding. Please see text encroaching into the padding (green) below;

            ... and I looked even further and even found this text encroaching into padding;

            How do I stop this? I would like to have padding or margin between the columns. Here is a quick snapshot of my markup

            Here is the minimal code;

            ...

            ANSWER

            Answered 2021-Jun-12 at 08:35

            The solution is add margin to the rows inside the right side,

            . The code:

            Source https://stackoverflow.com/questions/67946212

            QUESTION

            Creating Unsubscribe Links
            Asked 2021-May-24 at 17:39

            I want to implement a newsletter service. The users of the service will get weekly emails and at the bottom of each email there will be an "Unsubscribe link". The user will be directly unsubscribed from the service on clicking that link. An approach could be to hash email-ids to generate tokens for each user and these tokens can then be used to create the "unsubscribe link" for that user.

            I'm implementing the system in python and I have found the library isdangerous that provides such a functionality.

            Is it safe to generate a token for each user when they register and use that same token for the unsubscribe link for all the newsletters ? If not, how should it be done ?

            ...

            ANSWER

            Answered 2021-May-24 at 17:39

            Why add the complexity of generating a token derived from user email address via hashing (message authentication in reality, if I understand correctly), if you store that token with the user entry anyway?

            You could just generate a random token (upon registration for example), store that for your user, and the unsubscribe link in the email would send the email address and the token as a parameter. Note that this means all such emails will contain the token that can be used to unsubscibe a user, but that's probably ok (don't reuse the token for other purposes though). You can also generate and store a different random token for each email, and store those with some expiry so the number of tokens is limited. The benefit of that would be the limited time an attacker has to gain access to such an unsubscribe token, and also you could tell which exact email made your user unsubscribe.

            Also the link should not directly unsubscribe a user, because some email clients might download links when the user opens the email. You should have a confirmation step, and to protect against CSRF, that confirmation should use POST to actually unsubscribe a user (passing the same token).

            Source https://stackoverflow.com/questions/67676152

            QUESTION

            Object Fields Missing in Autogenerated Mutation Input for GraphQL AppSync
            Asked 2021-May-24 at 16:35

            I have a custom GraphQL schema for a blogging application for my ReactJS app. The main model type is Post.

            Post contains a number of properties that have a custom type eg Gallery: [MediaObject]. The majority of these properties with custom types are missing from the automatically generated CreatePostInput by AWS Amplify CLI. This means that I cannot create a Post object that has these properties with custom type.

            The lack of these custom type properties is evident in the AppSync console, under Queries. In the Explorer, go to Mutations, click on CreatePost mutation, and you will see that 6 of the 21 properties for Post are missing. The missing properties are tags, attributes, seo, featuredImage, gallery and createdBy.

            They are also missing in the autogenerated graphql schema in api > build > schema.graphql in the react app.

            I have made multiple clean projects from scratch, and the problem is reproducible. I have updated the amplify cli to 4.51.2 and still no luck.

            I would expect the CreatePostInput to have the associated inputs for all of the fields, not just comments (see the autogenerated CreatePostInput below) eg: attribute: AttributeInput, but these are not generated either. This would allow me to create a Post object that has these custom fields populated. However, only the CommentInput has been generated. What am I doing wrong here, or have I misunderstood something?

            Thanks!

            Below is my gql schema and both the autogenerated CreatePostInput and CommentInput:

            ...

            ANSWER

            Answered 2021-May-23 at 14:19

            At least for the example, you cited, Post and MediaObject have a one-to-many relationship. That is, a single Post has many MediaObjects. You won't see the many relations of a one-to-many generated on the parent object for mutations.

            When creating a parent object that has children, you'll need to do this in 2 steps.

            1. Create the parent object, and return the id.
            2. Using the parentId, create the N child objects.

            Here is some documentation from Amplify on how to do this: https://docs.amplify.aws/cli/graphql-transformer/connection#has-many

            Source https://stackoverflow.com/questions/67658812

            QUESTION

            Symfony 5, memory leaking when send multiple emails through mailer
            Asked 2021-May-23 at 08:42

            I have memory leaking when sending bulk emails. I have around of 100 000 users to which I need to send every month newsletter. It's happen in production and in dev env as well.

            I'm using:

            • Symfony 5.1.11
            • Docker
            • Php 7.4.10

            Below you can see the main piece of my command from execute method.

            ...

            ANSWER

            Answered 2021-Apr-25 at 17:41

            One solution of this problem is using async sending. For example you can use Symfony component Messenger (or other solution): https://symfony.com/doc/current/mailer.html#sending-messages-async

            Source https://stackoverflow.com/questions/67248353

            QUESTION

            How to manage viewmodel
            Asked 2021-May-08 at 16:04

            I have an activity that has a view model. When I call 2 methods of that view model first execute second method. Why?

            How can I manage that methods?

            This is onCreate of the activity:

            ...

            ANSWER

            Answered 2021-May-08 at 16:04

            When you observe a LiveData, it will call the onChanged method on its observers when the data is ready or when the data changes. When you observe two or more LiveDatas in a certain order, it doesn't mean that the observers will be called in that order as well. It will happen sometime when the data is ready. That's exactly the behavior of observable fields like LiveData.

            If you want to read those values in that exact order and only once, you can call getValue() and get the value right away instead of observing them:

            Source https://stackoverflow.com/questions/67447575

            QUESTION

            How to fix broken CSV file where column values are not formatted properly?
            Asked 2021-May-06 at 00:10

            I have a dataframe that has a weird format that I am having difficulty formatting it to a desired format. I just need the columns first_name, last_name, domain, Email, Verification and status but am not sure how to remove it when it is in this format.

            ...

            ANSWER

            Answered 2021-May-04 at 18:18

            You can read the file with pandas.read_csv() with error_bad_lines=False:

            Source https://stackoverflow.com/questions/67389735

            QUESTION

            How to center the positioning of the css button?
            Asked 2021-Apr-06 at 21:50

            I'm having trouble centering some of the buttons in my . Some buttons are centered and then other buttons are not centered.

            ...

            ANSWER

            Answered 2021-Apr-06 at 20:40

            I suggest using flexbox. Simply wrap your button inside a div Element, set the div's display property to flex and the justify-content property to center and you're done.

            Since you didn't share a code snippet, I made my own, minimalist code snippet.

            Source https://stackoverflow.com/questions/66975992

            QUESTION

            Display each taxonomy term post under a Year and Month heading
            Asked 2021-Mar-11 at 20:19

            I have a CPT - 'newsletters' and Taxonomy 'newsletter-groups'

            I'm trying to display each post under it's respective term heading with all that terms posts displayed under it showing the Month and Year they were posted (by Postdate).

            I thought I had something working , but noticed during testing that if a post had the same 'Month' it would wipe out the year and month for other posts in the same term and also for the terms below it , I have some images to show what I mean and the code I'm using so far.

            In the images shown I've appended the post date to the filename for clarity , it would normally be just the filename.

            Not Working if post date month is the same

            Working if post date month is different

            How can I solve this ? do I need to get all the post dates with a separate query and save that ?

            Any examples appreciated

            ...

            ANSWER

            Answered 2021-Mar-11 at 20:19

            You can push each month in an array and check if the month is already in the array then do not display repeat month.

            Source https://stackoverflow.com/questions/66583440

            QUESTION

            How can I prevent the cells in my table from going out of the table and have a fixed width?
            Asked 2021-Feb-26 at 18:49

            I am learning how to design html templates for newsletters and there was a suggestion to use blank cells instead of padding to avoid wonkiness of email clients. While using a blank tag with a fixed width attribute to get vertical padding is working fine, when I try to use with width attribute to get horizontal padding my table completely breaks. The table's width get's reduced to half. Can anyone point out what I am doing wrong ?

            This is what ends up happening

            ...

            ANSWER

            Answered 2021-Feb-26 at 18:49

            Your Row 2 have 3 so it will have 3 columns but your others row only have one cell. If you absolutly want to use this method, you have to set all your single to fill space of 3 columns.

            So, add colspan="3" on each other cell.

            Source https://stackoverflow.com/questions/66389097

            QUESTION

            How to save css style in TinyMCE?
            Asked 2021-Feb-11 at 21:48

            I use tinymce 5 to create newsletters and I need the code below inserted with "source code" to be saved and then reloaded by tinymce. Now that code is removed. How can I do?

            ...

            ANSWER

            Answered 2021-Feb-11 at 21:47

            If you enable the fullpage plugin you will see that the

            Source https://stackoverflow.com/questions/66154009

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install newsletters

            You can download it from GitHub.
            PHP requires the Visual C runtime (CRT). The Microsoft Visual C++ Redistributable for Visual Studio 2019 is suitable for all these PHP versions, see visualstudio.microsoft.com. You MUST download the x86 CRT for PHP x86 builds and the x64 CRT for PHP x64 builds. The CRT installer supports the /quiet and /norestart command-line switches, so you can also script it.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/zvineyard/newsletters.git

          • CLI

            gh repo clone zvineyard/newsletters

          • sshUrl

            git@github.com:zvineyard/newsletters.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Email Libraries

            PHPMailer

            by PHPMailer

            nodemailer

            by nodemailer

            mjml

            by mjmlio

            Mailspring

            by Foundry376

            postal

            by postalserver

            Try Top Libraries by zvineyard

            pyrocms-import-export

            by zvineyardPHP

            xmas-py

            by zvineyardC

            light-organ

            by zvineyardC