Find Jobs
Hire Freelancers

60120 Mailing list script developmen

N/A

Complété
Publié il y a plus de 19 ans

N/A

Payé lors de la livraison
Hi there, I need a php/mysql script to manage mailing lists for my sites. I need it to have the following features: [login to view URL] on PHP4 and PHP5 without any problems [login to view URL] with MySQL databases [login to view URL] multiple unlimited mailing lists [login to view URL] unlimited users, who can subscribe and unsubscribe to/from one, many, or all of the mailing lists [login to view URL] php mail() function, and optionally an SMTP server ## Admin end ## Add/edit/delete each mailing list. Options for each mailing list should include a private name (Displayed in admin), public name (displayed to users), a ‘from address', reply-to address, a from name, a comments field, subscribed email template, unsubscribed email template, successfully subscribed template, successfully unsubscribed template, notify administrator on new subscriber, notify administrator on new subscriber. (email template explained below). There should also be a field on how many emails should be sent out per hour when a message is sent to a list. Add/edit/delete users. Fields for users: full name, email address, receive html emails (yes/no dropdown). In the edit users screen, you should also see which mailing lists they are subscribed to, along with when they subscribed. Under the add/edit users screen, you should also be able to subscribe and unsubscribe users from the mailing lists. Configuration page. This allows any necessary system values to be set, such as whether to use php mail() or smtp, and to set the smtp values (server, username, password etc..). A variable for the maximum number of emails to be sent out per hour regardless of the mailing list values also needs to be set (see below). Send out an email. This allows an email to be sent out to a single OR multiple mailing lists at once time. The user can then enter their message, and use the following variables: [email] would display the users email address, [name] would display the subscribers name. These emails would then be sent out via smtp or php mail(), depending on configuration setting. It must also follow the ‘per hour' limits set per mailing list and globally, so if there are 400 emails to go out, but a limit of 100 emails per hour, it'll take 4 hours to send all the emails. Each hours worth of emails should be put into a batch and stored in the database, and then I presume some sort of cron script will be needed to execute each batch. If one mailing list has 420 subscribers and a limit of 70 emails per hour, and another of the mailing lists has 500 subscribers and a limit of 60 per hour, but the maximum per hour limit set globally is 100, then the script should send out up to 100 emails per hour in the most efficient manner to ensure that all emails get out as soon as possible. In this case, it should give priority to the 2nd mailing list as it has a lower limit and more subscribers and it should work out the number of emails to send to mailing list 1 users, and then mailing list 2 users per hour to get all the emails sent as quickly as possible, while staying within each limit, and the global limit. Administration of each email batches. There should be an option to view, add, edit, and delete the email batches that have been sent out, are sending, and are waiting to go out. There should also be a ‘mass delete' option that empty's the batch table, along with options to mass delete all batches already sent, and those waiting to be sent. ## Email templates ## The ability to add/edit/delete email templates within the admin area. Email templates fall into 4 groups: email templates for subscribing, email templates for unsubscribing, email templates for successfully subscribed, email templates for successfully unsubscribed. This allows an email template to be created to say “Thanks for subscribing to the mailing list for PRODUCT X. Please don't forget you can see the feature list at [login to view URL], and you can purchase at [login to view URL]”, or say “Thanks for unsubscribing to the mailing list for PRODUCT X. Please don't forget you can see the feature list at [login to view URL], and you can purchase at [login to view URL]”. There should be support for an unlimited number of email templates, that can then be to multiple mailing lists, so that one list can have one version of a ‘thanks for subscribing', while a 2nd mailing list can have a different version. The same applies for unsubscribe emails. There should be a number of ‘variables' that can be inserted into the template: [email] would display the users email address, [name] would display the users name, [date] would display the date the user subscribed/unsubscribed in the format 28th December 2004 (for example), [time] enters the time in 24hr format, 17:45 for example. ## Client end ## Page for users to subscribe to mailing list(s). A box is provided where they can select multiple mailing lists that they want to subscribe to. They then enter their email address and name, and they are then subscribed. Variables can also be passed to the page, i.e. [login to view URL]|2|4 where lists with ids 1,2 and 4 are already selected, and [login to view URL]|2|4&email=test(at)[login to view URL] where the email address test(at)[login to view URL] is subscribed to lists 1,2 and 4. Page for users to unsubscribe to mailing list(s). A box is provided where they enter their email address and can then select which mailing lists they want to unsubscribe from. Similar variable options to the subscribe page must be provided, but for unsubscribing. ## Once user has subscribed ## Once a user has subscribed to a mailing list, the email template assigned to the mailing list that the users is subscribing to should be sent out. This should contain an activation url, including their email address and an ‘activation key', for example: [login to view URL](at)mydomain.com&key=s3sdgsdgfsdfgsdfdsfsdsd423sdfgsdf. One email should be sent out per mailing list that the user subscribed to. Once the user has activated successfully, the relevant ‘successfully subscribed' email for that mailing list should be sent. In the case of multiple mailing list subscriptions, one email should be sent out per list. ## User unsubscribe from a mailing list(s) ## Once a user has unsubscribed from a mailing list, the email template assigned to the mailing list for users unsubscribing should be sent out. This should contain a de-activation url, including their email address and a ‘deactivation key', for example: [login to view URL](at)mydomain.com&key=s3sdgsdgfsdfgsdfdsfsdsd423sdfgsdf. One email should be sent out per mailing list that the user unsubscribed from. Once the user has unsubscribed successfully, the relevant ‘successfully unsubscribed' email for that mailing list should be sent. In the case of multiple mailing list un-subscriptions, one email should be sent out per list. If you need any further information, please contact me.
N° de projet : 1808811

Concernant le projet

1 proposition
Projet à distance
Actif à il y a 12 ans

Cherchez-vous à gagner de l'argent ?

Avantages de faire une offre sur Freelancer

Fixez votre budget et vos délais
Soyez payé pour votre travail
Surlignez votre proposition
Il est gratuit de s'inscrire et de faire des offres sur des travaux
Décerné à :
Avatar de l'utilisateur
Dear sir, I am interested to take up the work for you. I assure quality work in time.... Thank you ... Regards... Nirmal
$225 USD en 5 jours
5,0 (2 commentaires)
2,8
2,8

À propos du client

Drapeau de
5,0
1
Membre depuis nov. 26, 2004

Vérification du client

Merci ! Nous vous avons envoyé un lien par e-mail afin de réclamer votre crédit gratuit.
Une erreur a eu lieu lors de l'envoi de votre e-mail. Veuillez réessayer.
Utilisateurs enregistrés Total des travaux publiés
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Chargement de l'aperçu
Permission donnée pour la géolocalisation.
Votre session de connexion a expiré et vous avez été déconnecté. Veuillez vous connecter à nouveau.