Sending Outlook Meeting email from outside (e.g. Symfony) and "retrieving answers" - php

We have developed a Symfony 2.8 based SaaS for project management.
We would like to integrate with MS Outlook (or any other system like Gmail that is compatible with "meeting").
At the moment we have created an ICS that can be shared as read only. No issues here.
What we are trying to do at the moment is sending invitations for meetings created inside our system, with the possibility as usually for the user to answer "accept, decline". We then need to process those returned emails and take the appropriate measures.
Which is the format of the email to be sent to be treated as meeting?
Is there any library in PHP that manages that?
Thank you

Related

CRM with webmail integrated

I'm building a CRM in PHP to a customer.
One thing that the customer asked me if it's possible is the chance to manage his emails inside the CRM, without leaving the CRM to a webmail for instance. Not only to send emails (that's easy) but also to fetch inbox, see other email folders like Spam, Drafts, Sent items and even create email accounts (and other Admin features). It's really like a webmail, but without leaving the CRM. So, I don't want to build a webmail when there are already good Webmail out there. And I don't want to build something hard to maintain.
What are my options? Are there webmails that you can integrate? Do you suggest something like "mailgun"?
We're using a Windows host with Plesk, but I think we could change if necessary.
Thank you!

Google App Engine PHP script to process email and send data to a Google Sheet

Our water district sends out automated alarms and process statistics from a SCADA computer in our water treatment plant. The information is sent in the form of SMS messages and daily emails with csv file attachments. Because we also have an informational website on Google Sites, I would like to automatically display real-time process statistics on our website in a simple Google sheet which would be automatically updated.
I have been handling the SMS alarms through custom PHP/Twilio scripts which are separately hosted, but would like to integrate everything in the Google Cloud with Google AppEngine. I think this can be accomplished in a variety of ways, and am currently evaluating alternative automation approaches using PHP and the Gmail API. As a Google Cloud/AppEngine noob, I have a couple of architectural questions:
Can I accomplish this automation by simply enabling the Google Sheet for incoming mail and processing the data through spreadsheet scripting? If I elect this approach, can the Google Sheet receive email directly, or must I send email data to the sheet as an http request?
Alternatively, would the Google Cloud be a more reliable and robust platform for this automation? From the examples I have seen, it looks like AppEngine PHP scripts can be enabled to receive incoming email, parse required data from the email body or attachments, and form an appropriate web request directed to the Google Sheet endpoint. Under this approach, Google Sheet scripting would be minimal.
Does anybody have any constructive advice before I plunge blindly and lustfully headlong into this project? Thanks.
To answer your questions:
1/ Using Google Scripts
I think using Google Spreadsheet Scripting might be an option if your data was stored in the body text of the e-mail.
In this case you could actually write a Google Spreadsheet script which pulls the e-mails directly from your Gmail account. Instead of sending the e-mail to the spreadsheet you could access your Gmail account the GmailApp service.
However ... if you data is stored inside a CSV attachment I'm not so sure if this is feasible. I'm not sure that you can access the data inside attachments with Google Spreadsheet script.
2/ Using Google Cloud
I'm by no means an expert here. But I think you don't really need to host your code with them. Once you use PHP and leverage the Google APIs (Gmail + Google Sheets) you should be able to host your code anywhere you like.
Extra: Consider using an Email Parser Software
Developing all this yourself is feasible it will take you for sure a lot of time. E-mail is always a bit difficult to handle and you have a lot of moving parts there.
I'm the founder of mailparser.io and I believe that you would be much better of using a ready made e-mail parser software like ours for this job. We integrate natively with Google Spreadsheets and you should have something running within a couple of minutes.

Send a mail on every chat message

I am currently using pubnub chat in one of the my application. And now I want to add functionalities like on each and every chat message I want to send mail,same as upwork website is doing.
For the same I have contacted pubnub support but they are not providing any such feature, So I need to send mails from my end, mostly by calling ajax and send mail from php.
But the major issue here is as its chat feature may I need to send number of mails (mass mail) in very short time. So my server doesn't supports it.
So how to implement mass mailing.
Check Out PubNub BLOCKS
PubNub BLOCKS is a set of customizable microservices that give
developers a simple way to add code and deploy features for realtime
apps. PubNub BLOCKS execute business logic directly on the data
streaming through PubNub’s network without splitting it off to an
intermediary server controlled by the customer. This revolutionary
approach streamlines app development, reduces endpoint-to-endpoint
latency, and allows apps to better leverage the enormous scalability
of PubNub’s Data Stream Network.
Sending email (or a Tweet, SMS, etc) with every published message, or only messages with an attribute such as email=true, is something that will be implemented as a BLOCK that you will be able to use out-of-the-box. Custom BLOCKS can be implemented to do whatever else you need to do for every message or certain messages without your server(s) getting invovled.
With cakePHP I would suggest saving the E-Mails to be sent in a queue with a short Ajax call. This can be done with a json view. Then you can create a cron that calls the CakePHP Shell to send the mails with the standard CakePHP Mailer.
If the Mails are time-critical or you don't have access to the server (cron) you can also send the mails directly on the ajax call. The advantage of the cron is that the call (from the browser) is short and that the mails (depending on the server) might need more time to be sent.
Here is an answer that might help you implementing it.

Create web service for notification purpose?

I have built an ecommerce website in CakePHP and MySQL which takes orders and stores them in db. I've been told that I need to create a web service for sending notification to desktop/via email which would alert us of any order given instantly and would also provide us with order details. Do i need to study up on web services, SOAP, GET POST etc. or can I do it with some easier method? What would be a secure and fast response way of receiving such a notification from the web application? Thanks in advance :)
A webservice would be useful the other way round. If a third-party entity wishes to access your website as a service without accessing HTML pages, yes in that case, creating a webservice on your end will be useful.
I recommend you for instance to see the RESTful webservice interface to stackoverflow/stackexchange itself to understand this concept: https://api.stackexchange.com/docs.
In your case, I can't see how webservices would be involved. If you just need to send emails from your website, it can be done directly with the PHP mail() function, or using a mailer like PHPMailer.
Desktop notifications are an entirely different matter, because you need a client software.
I haven't dug pretty far in that topic myself, but here are a few pointers:
A popular Desktop Notification software for MacOSX is Growl which has been unofficially ported to Windows: http://www.growlforwindows.com/gfw/
There is a PHP API to send messages to Growl clients: http://clickontyler.com/php-growl/.

How can I search for an email using the zend framework?

Hi guys I need to build a functionality that involves searching through emails in an inbox for emails whose subjects match a certain user inputted keyword. SInce I'm using the zend framework I would like a solution that uses the zend framework libraries.
Aside this I have noticed that the zend libraries are a bit limited with respect to my requirements for email handling. Is there any open library available in php which can be used for handling emails - when I mean handling emails I mean like:
Ease to mark and flag emails
Moving of emails from folder to folder.
Parsing emails
searching through emails
SOrting emails
etc - the stuff you would require if you wished to build a web client.
EDIT =========
I'm looking for a generic solution here. The emails are in a regular email inbox on an IMAP server. I need a way to be able to read through and search for emails in the inbox using any specialized library to make it easier.
99.9% of the problem here is nothing to do with PHP, let alone the Zend framework.
A lot of the problem here is about how you store emails and the method by which you access them - you've not mentioned either. Nor the OS this is running on, nor whether The emails still need to be accessible via other means.
Most of the tasks you mention are specifically the reasons for using an IMAP capable server - however that just defines the protocol for interacting with the message store - not the format of the message store itself.
Some servers may use a standard database format for storage. Have a look at the docs for Cyrus, Courier and Dovecot. All of which are open-source (and hence not "black-box").
IMAP4 specifically supports server-side searching.
C.
For searching email, you probably can use Zend_Mail_Storage_Imap and it has search() method. The class allows to do other stuff with emails too.

Categories