Im developing a webmail client using Zend framework and gmail IMAP.
Features like moving email from one folder to another ,Flagging,
mail composing,Drafts etc.
Simply it should reflect the same way as you see in the Gmail.
Technically Can any body point me towards right direction.? I mean the zend library supports REST ,JSON,IMAP,
As far as database is concerned im fine and im able to get all the data around 100 MB of data im able to store.
How should my approach be as far as architecture is concerned.Does REST & GMAIL IMAP combinedly can be used to perform manipulations ?
because always the server should always get new mail instantly may be at 5-10 min gap .
PLEASE Advise.
Also does gmail provide REST support to get new emails? OR we have to develop REST SERVER and consume the Rest client?
Also i would appreciate good hyper links to point over for kind of architecture.
Thanks
Mark
Technically Can any body point me towards right direction.? I mean the zend library supports REST ,JSON,IMAP,
These three acronyms have nothing do to with each other.
REST is an architectural philosophy.
JSON is a data encoding format.
IMAP is a protocol for accessing mailboxes.
Yes, Zend Framework has components that deal with all of these things, but that doesn't mean you have to use all of them.
If you want to access your Gmail account through IMAP, then use one of the Zend_Mail_Storage classes.
Does REST & GMAIL IMAP combinedly can be used to perform manipulations ?
If by that you mean "Can I write a RESTful application that uses IMAP to communicate to Gmail?", then the answer is yes, yes you can.
the server should always get new mail instantly may be at 5-10 min gap
It sounds like you want a cron job running to continuously poll the server for mail, instead of using an active IMAP connection live whenever the user is making requests.
Also does gmail provide REST support to get new emails?
It took them years to give us just basic IMAP support, I don't think we're going to see a RESTful API out of them any time soon. Keep in mind that they earn money based off of ad views. You aren't viewing ads when you use IMAP.
Also i would appreciate good hyper links to point over for kind of architecture.
Are you kidding? No, really, look at what you're doing. You're building a webmail client designed to access another webmail client. Do you realize how incredibly silly that is, my friend? You're re-inventing a re-invented wheel.
I don't know of a single worthwhile webmail client outside of Gmail. If you want to study the architecture of other webmail clients in PHP, then take a look at IMP (designed for PHP 4, and therefore ancient), Roundcube, or SquirrelMail. I am not responsible for any brain damage you suffer from reading the source.
Related
I need some methods for pushing JSON messages to android application from the server using PHP but without GCM or FCM.
I don't want to use Google because it sometimes doesn't send messages or they arrive in late, and I need a reliable service.
My goal is to update some text views when something happens on the server, for example, a user subscribes for a live game, so other users see the number of players increased real-time.
Also, I'm a little ashamed, I'm not able to use other server languages except PHP, and even if I could, my hosting service is not able to install Node or other languages. Moreover, my hosting server doesn't support the composer, so I need to install libraries manually.
I try to use Pusher, and it works fine, but it costs too much if one day I reach a good number of players. Actually, my budget is 0 :(
I also heard about Socket.io but I don't know how to use it with PHP. If someone uses it with PHP I'm really happy to see a front-end and back-end simple examples.
Does anyone have a solution?
Your use case would be best served with something like Firebase Realtime Database or Cloud Firestore or if you want your own server stack, something like Parse.
Doing this will avoid the use of server side code. Also you can react to real time changes with all of the above. All these intrinsically do run over Sockets so instead of rolling out your own, i suggest you have a look at these and try to fit these for your use case.
Using notifications for this is kind of an overkill and may cause your app to get blacklisted for overly spamming users.
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/.
I am developing social service in Drupal. There is need to send notifications to registered users.
Which option would be the easiest to integrate Drupal with and to send notifications to users?
Amazon SES,
Google App Engine,
third party provider (like Sendgrid/PostageApp/CritSend)
SES/GAE are clear winners from business point of view.
This question is about which option would be the easiest to integrate with PHP code and which would provide least headache.
Please note that third party providers are not that easy to maintain, as they might drop emails without right MTA relay (unfortunately I experienced that problem with Sendgrid and another PHP service).
I would recommend you to use SwiftMailer, a PHP library that can easily send mails via any SMTP server, SendGrid will provide you with an SMTP server that you can use I believe.
in my opinion app engine(python). only a couple lines of code to create webservice to send out e-mail in python.
you just do simple post from cURL via PHP to sent email. easy as pie. Maybe later I will post a little snippet to achieve this :P.
These days, handling email in house is a royal PITA. I recommend mailchimp instead.
Just want to throw PostageApp's hat into the ring. We've got some documentation on integration with PHP and our API is one of the cleanest and easiest to use around.
We're also exploring an integration with Amazon SES to capitalize on their great prices (And the free option!) so you might be able to use both? Happy to answer questions should you have any.
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.
I don't know whether or not it's a good question :(
But my intention is to know if it is possible to to build an email client application like Thunderbird or OutLook . And can we able to configure/create a Web Application in PHP?
Please let me know your thoughts!
Thanks in advance!!!
I am not sure that I understand the question, but here a couple of notes :
if you want to create a web application, of course you can use PHP : it's been created for that task, and does it well
if you want to develop a webmail (ie, a web application to send/receive mail), it'll mean lots of work...
maybe taking a look at some existing webmails might be wiser ?
About that, you might be interested by my answer to the question How do you build a web based email client using PHP?
if you want to create a desktop application, this is possible too ;-)
take a look at PHP-GTK (GTK is the graphic toolkit used for Gnome and/or the Gimp, for instance), about that ; here are a couple links :
Desktop Application Development with PHP-GTK
Beginning PHP-GTK: Creating a Simple Interface
Beginning PHP-GTK: Signals
Uh, sure, but why would you do so? Thunderbird is free and open-source. You could just use that. Unless you've a compelling reason to develop an entirely new e-mail client, it's better not to reinvent the wheel.
Plenty of open-source webmail clients already exist, too. RoundCube is one of the prettiest.
PHP is usually used as a server-side scripting language to build web applications. It does have the functionality that you need to be able to send email messages from a properly configured server.
The mail should definitely be sent from the server not the local machine, but its perfectly ok to create a webmail system. Also you can retrieve incoming mails from your mail server. Actually there are webmail clients on the market that you can use. I personally like Squirrel Mail
I would recommend in your case that you look at using PHP as core backend and (x)html+javascript+ajax for frontend and front-to-backend communications.
Ajax is very good for dynamic pages where you do not want page reloads etc.
You could have a local smtp server to send the email, but most internet providers would not allow this. If the later is the case you need to use the internet providers smtp, alternatively allow the configuration of smtp within the user interface.
PHP has builtin classes to send mail which makes this process easy in either case.
Receiving mail and parsing them correctly is just a matter of understanding the correct protocols. (pop3 / exchange and so on).
I know this wasn't a straightforward answer, but I hope it gave at least some insight.