Adding a Button that Sends an Email in an Email - php

So I have customers that go to my site and request quotes for moving their cars. I get this form emailed to me and then I reply in an email with their quote. In this email I ask them to reply saying that they are ready to move their cars so that I can begin working on setting up their move.
However I feel I can make this step more streamlined. I'd like to have a button in my email that just says something like "Click here if you are ready to move your car!" Is this possible?
I would need this button to let me know which customer it is. I have a unique ID for every job and I could manually configure it before I send the email with the quote. Any help would be appreciated.

The only way to do this is with URL parameters. Something like:
Click Here to Confirm
That could be an image/button if you prefer. You would then use $_GET('account') on your page to access the query/parameter values.
You would have to dynamically insert the custome values before you send the email, as you can't change any of the code once it is sent. There are plenty of transactional email services that can help streamline this for you, all of which are designed to integrate with API's. A couple of good ones that come to mind are SendGrid, Mandrill and Mailjet.

Best thing to do would be to insert a link to a page on your website passing the unique ID as a query string. Then your page can display some sort of confirmation message to the customer and send you a message saying that the customer is ready.

Related

Using Mailchimp API with Shopify

I am attempting to use the Mailchimp API to allow site visitors to subscribe to my newsletter. Currently, any signups with the default form action that Mailchimp provides sends an Opt-In email and opens a new email to say thanks for subscribing, which I want to avoid. Instead, if I use the API, I can set those options to false. The problem is that it doesn't look like Shopify allows PHP or Ruby in their shop code. I've been looking for weeks for a solution, but I'm at a loss.
Here is a turnaround for this:
1.- Create a Wufoo form with one only field: email address.
2.- Paste this Wufoo form at your Shopify store. We'd recommed pasting the JavaScript version.
It can look like this
3.- On your notifications tab at your Wufoo form, choose to Send notifications to Another Aplication. On the dropdown, choose MailChimp click on Add integration and follow steps. You will be sending all email addresses to your desired MailChimp list.
Tiny problem is that placeholders on Wufoo forms, don't disappear on click, so the user needs to go inside the field and delete all the placeholder. (This might be a good point because robots can't do this, and you make sure the user is really involved in the process of typig his/her email address.)

Can I create just one mailform.php to deal with an email form page

Tutorials all over the web say that you need two pages for a mailform PHP for someone to send a simple email message, with email, subject and message from your website.
Can you get away with just one PHP mail form page, which creates another page , which says "thank you for your interest in our site" ?
if i understand you right, you need to implement accounts in your site and if the account is and administrator - to show the reply form, otherwise to show a feedback form

How can I set up email functionality like Craigslist?

I want a button that when pressed brings up a list of possible email providers (similar to the one that can be found on Craigslist). Then a user can choose the email provider that suits their needs and the "To" and "Subject" get automatically populated. I understand that I can set up a link that automatically populates using Outlook, but that isn't what I am looking for. If anyone could point me in the right direction I would really appreciate it.
Here is a Craigslist ad where the functionality can be viewed. Thanks.
First of all you'd need to program a popup dialog box. I'd recommend using jQuery UI's addon dialog for that. Then you'll need to look at the API docs for each email provider and figure out exactly what parameters you need to pass them in a $_GET string to display what you want on their page. All the custom From, To, Subject, etc is handled by the API, unique to each email provider.
Start here for the Google Dev API: https://developers.google.com/google-apps/email-migration/v1/auth

PHP / MySQL Ticket Response - Store E-mail repsonse in database?

I am building a basic support request system where the customer can log in and ask a question and an admin can go in and reply and it will set the status to "Responded" and e-mail the customer to let them know someone has responded.
My question is.. I have a "comments" section which is a log of the interaction between the admin and the customer. If I e-mail the customer the initial response from the admin, then I have a feeling they will just hit "Reply" from their email and start communicating through there, and the logs won't be stored.
I could either e-mail the customer and say "Log in to view the response", or maybe if the customer does hit reply I can somehow track it and insert that in the comments table like they did it from the website. If that is even possible?
Just wondering if there is a standard way to do this and any suggestions you may have.
Thanks!
When sending the email to the user you can have it sent from an email address created for that specific ticket. Something that can identify it with your email system to help you route it back to the php ticketing system.
support(ticketnumber)#domain
support12345#mydomain.com
Then it depends on your email server how to go from there.
There are several useful tips at this question that may help or get your started.
How to get email and their attachments from PHP
If you want their reply to be automatically inserted into the DB, you'll have a assign a cron job in your server to run a php script to detect whether there's a reply from a customer (you need a table listing the customers' email and names.
Each time a customer uses the ticket system their email and name goes into this table).
You'll need to connect to your Inbox too via imap or SMTP, and there are scripts to do this (phpmailer, swiftmailer, etc) and "walk" through each email and see if the sender email matches any in your customers table. Then so an INSERT to the comments table.
Anther way is to read through the emails each time the comments page is loaded, but this will cause the page to take longer to load. However, the data will always be more "real-time" compared to cron jobs.
You could use email piping (if your server supports it).
In the subject, you'd have a unique identifier which contains the ticket ID or something unique to the ticket. Example: "How do I eat food [Question: #1234]", where 1234 is the ticket ID.
In your control panel, you would set up an email forwarder to your email piping script.
This tutorial offers the basics to email piping, and I used it as the base for my piping script: http://www.damnsemicolon.com/php/parse-emails-in-php-with-email-piping-part-1

Is It Easy to Make an Email Address Book Invite?

Twitter and Facebook invite new users to send an invitation to everyone in their Gmail, Hotmail, or Yahoo Mail accounts.
Is it easy to add this functionality to a website?
Thanks,
John
Last I checked you basically have to pretend to be a web browser then programatically log in to the site, scrape the contacts, then compose/send the message. It isn't difficult, but it is time consuming as each of these services works differently.
I does, however, look like people have written script for some of this though: example.
Yes!
What they generally do is to send in the email a special URL that contain a code, for example:
www.mysite.com?UserCode=ABC
That code (ABC) is associated to the email of the user so the application undestand which user is trying to subscribe. You must keep in a database the pair: email, code.
HTH
All of the above answers are correct, here is a summary and some more explanation:
You first need to get the user's login for each service you want to get contacts from (I personally don't understand why people would do that - I would never give my GMail password to Facebook, let along some little known web site).
Then you can simulate a login to the said website and grab their contact list as an export (all serious email services allow you to export the contact list as CSV or something). You can implement this yourself or use some external library such as contactgrabber mentioned by Haim.
You then go over their list of contacts and for each contact you generate a key (you want to generate a unique key for each email you send so you'd know who responded to you). Generating the keys is easy - take some info like the current user's email plus the target email address, add the current time and pass everything to a hashing function like SHA1 - should do the trick.
Now store in a database table for each contact you got: the inviting user's ID, the email address being invited and the key you generated.
Lastly send a nice email to each contact with a URL to your website's "invitation activation page" with the correct key applied - like so: http://www.somesite.com/invited?key=123456780abcdefgh
when that page is accessed, get the key from the URL and find it in the table - that would give you the email address that activated the invite and the user that invited them. From here you can take it to where ever you want.

Categories