Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.0.b6
    • Fix Version/s: 4.0.0-b1
    • Component/s: Staff Interface
    • Labels:
      None

      Description

      We need to create a mass mailer plugin. It should probably register itself under Tools, and allow a mass email with the WYSIWYG editor.

      You should be able to filter users by group, package, module, and preferably module row even.

      This plugin should be called *Mass Mailer*.

      • Create a navigation link under Tools called "Mass Mailer".
      • Create an ACL setting for staff group access to the Mass Mailer. Only 1 permission is necessary, and without it, no access is granted.

      Under Tools > Mass Mailer will be a view consisting of:

      1. Filtering Options

      • Client Options
        1. Client Group (Multi-Select, select all by default)
        2. Language (Multi-Select, select all by default)
        3. Status (Multi- Select, select "Active" by default)
        4. Member Since (2 dates, a beginning and ending date range)
      • Services
        1. Renewing in (text + dropdown. x days/months/years) Renewing by (pick date from date picker)
        2. Package or Module (Radio, select Package or Module. If Package, multi-select. If Module, then select Module and multi-select Module Row)

      2. Export or Compose (Radio, default to Compose)

      • If Export, continue to exporting a CSV of data
      • If Compose, display the following fields below:
        1. From Name (Prefill with authenticated Staff Name)
        2. From Email (Prefill with authenticated Staff Email)
        3. Subject
        4. HTML/Text box containing WYSIWYG editor (Force HTML and Text content be filled)
        5. Preview button (Takes you to the next page where you preview the email, with tag replacement from a random client as well as display the total number of recipients)

      Submitting from the preview should show a job number, announce that the job is queued for delivery, and instruct the staff member that they can leave or keep the window open. AJAX requests will periodically fetch the status of the job and display the total number of email sent from the total.

      A link at the top of the panel/widget should show "New Job" and "Past Jobs" (Naming subject to revision). Past Jobs will display all previous mailings in a table sorted from most recent to least recent. A link will exist that you can click on to bring you to the job status page for that job. If the job is not complete, then AJAX fetch the status periodically. This can be used to view a job that was started and then left.

      How it works
      ==========

      When a "job" or mailing is created, a CSV file containing all of the recipients is written to disk. Other information about the job, such as the email content, from name, from email, subject, and job number are stored in the database as well as the last successful position in the CSV file that was mailed. If the mailing crashes, cron can pick up where it left off.

      Tags
      ====

      Client Tags (Always available)
      Asterisks denote fields to include in the CSV export

      • *ID Code
      • *First Name
      • *Last Name
      • *Company Name
      • Address (Possibly Address 1, and Address 2)
      • City
      • State
      • Zip/Postal Code
      • Country
      • *Email Address
      • *Member Date (When the contact was created)
      • Status

      Service Tags (Available only when filtering by services)

      • *Package Name
      • Package Description (both text and html versions)
      • Package Status
      • *Service Label (for example, the label for a cPanel service is the domain)
      • Service Date Added
      • *Service Date Renews
      • Service Date Last Renewed
      • Service Date Suspended
      • Service Date Cancelled
      • Service Status
      • *Module Name
      • *Module Row Label (for example, the module row label for cPanel would be the server name)

      Logging
      ======

      Do not log email sent from the mass mailer in the standard database email log by default. Consider a checkbox in the UI when composing an email whether to log. Checkbox "Log Emails", unchecked by default.

      1.
      Mass Mailer: Create plugin Sub-task Closed Tyson Phillips (Inactive)
       
      2.
      Mass Mailer: Add Mass Mailer under Tools in navigation Sub-task Closed Tyson Phillips (Inactive)
       
      3.
      Mass Mailer: Add logo Sub-task Closed Tyson Phillips (Inactive)
       
      4.
      Mass Mailer: Add client filtering options Sub-task Closed Tyson Phillips (Inactive)
       
      5.
      Mass Mailer: Add service filtering options Sub-task Closed Tyson Phillips (Inactive)
       
      6.
      Mass Mailer: Add email composition fields Sub-task Closed Tyson Phillips (Inactive)
       
      7.
      Mass Mailer: Retrieve clients to email from filtering options Sub-task Closed Tyson Phillips (Inactive)
       
      8.
      Mass Mailer: Add service status filter Sub-task Closed Tyson Phillips (Inactive)
       
      9.
      Mass Mailer: Add export to CSV Sub-task Closed Tyson Phillips (Inactive)
       
      10.
      Mass Mailer: Add compose email page Sub-task Closed Tyson Phillips (Inactive)
       
      11.
      Mass Mailer: Add preview page Sub-task Closed Tyson Phillips (Inactive)
       
      12.
      Mass Mailer: Add permissions for the filter/compose pages Sub-task Closed Tyson Phillips (Inactive)
       
      13.
      Mass Mailer: Update installer Sub-task Closed Tyson Phillips (Inactive)
       
      14.
      Mass Mailer: Save mailing jobs Sub-task Closed Tyson Phillips (Inactive)
       
      15.
      Mass Mailer: Add cron jobs Sub-task Closed Tyson Phillips (Inactive)
       
      16.
      Mass Mailer: Export mailing job via cron Sub-task Closed Tyson Phillips (Inactive)
       
      17.
      Mass Mailer: Send mass mail Sub-task Closed Tyson Phillips (Inactive)
       
      18.
      Mass Mailer: Add mailing job listing page Sub-task Closed Tyson Phillips (Inactive)
       
      19.
      MassMailer: Add tags to compose email page Sub-task Closed Tyson Phillips (Inactive)
       
      20.
      Mass Mailer: Add option to log emails Sub-task Closed Tyson Phillips (Inactive)
       
      21.
      Mass Mailer: Set export file open-mode to write/append based on status Sub-task Closed Tyson Phillips (Inactive)
       
      22.
      Mass Mailer: Add message when no mailing jobs exist Sub-task Closed Tyson Phillips (Inactive)
       
      23.
      Mass Mailer: Set background color on HTML preview Sub-task Closed Tyson Phillips (Inactive)
       
      24.
      Mass Mailer: Show column for type on listing page Sub-task Closed Tyson Phillips (Inactive)
       
      25.
      Mass Mailer: Missing style in job table expandable area Sub-task Closed Tyson Phillips (Inactive)
       
      26.
      Mass Mailer: Use icons for type on mailer job listing Sub-task Closed Tyson Phillips (Inactive)
       
      27.
      Mass Mailer: Move tags below email editor and reformat Sub-task Closed Tyson Phillips (Inactive)
       
      28.
      Mass Mailer: Do not require Text version of email Sub-task Closed Tyson Phillips (Inactive)
       
      29.
      Mass Mailer: Display content submitted on compose page after error Sub-task Closed Tyson Phillips (Inactive)
       

        Activity

          People

          • Assignee:
            tyson Tyson Phillips (Inactive)
            Reporter:
            admin Paul Phillips
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              Fix Release Date:
              15/Sep/16

              Agile