How to Integrate SharePoint 2007/2010 and Google Apps? - sharepoint

My (smaller) company has an existing Google Apps Deployment, used for E-Mail / Calendar, etc.
I'm looking into a SharePoint setup (2010 most likely). One of the best features is that new events are added to one's Outlook Calendar, e-mails can be sent automatically, etc. Naturally, this works best out-of-the-box with Exchange.
I know I can add my own OpenID login system via an OpenID provider for SharePoint and get my users into the system.
My question is, can anyone recommend the best way to go about making sure that events automatically find their way into users' calendars and e-mails on the Google Apps system?
This would enable us to deploy SharePoint without worrying about migrating our e-mail system to Exchange first (Google Apps is more cost-effective for our needs and I'm required to keep it.)
Thanks in advance for any help!

My experience has been that the Outlook integration is via the user's client not the exchange server. The exchange server isn't aware of SharePoint, at least in the scenario's I've been working with it.
I'm not familiar with Google Apps, but if your users are already in Outlook then you are probably OK. The SharePoint calendar in Outlook shows up as another calendar (not your normal Exchange related) calendar anyhow.
Email shouldn't be an issue since the SharePoint front end/web server sends the emails through whatever SMTP you tell it to.
Hope that helps.

Email won't be a problem - there's nothing exchange-specific about the alerts sent by SharePoint.
Calendars opened in outlook are not actually fully integrated with the outlook/exchange calendar. Outlook is simply able to open calendars from multiple locations for side by side display, so you may not get exactly what you are looking for even with exchange.
For google calendar integration you may find this post useful: http://community.bamboosolutions.com/blogs/mashpoint/archive/2009/01/26/how-to-render-sharepoint-list-data-from-a-google-calendar.aspx

One part of this puzzle is how to setup SharePoint outgoing email.
If you already have a smtp server then no problem - but if not you can't get SharePoint to send directly to mail.gmail.com (or whatever your domain is) as SharePoint can't supply the authentication that google demands.
The solution is to use IIS SMTP server as a relay between SharePoint and Gmail.
http://fmuntean.wordpress.com/2008/10/26/how-to-configure-iis-smtp-server-to-forward-emails-using-a-gmail-account/

We have tried Shetab SharePoint Live Authentication solution that work with other OpenID provider such as Google and yahoo too, much more customizable and interesting solution, the best of it that prevent users to enter invalid e-mails so our SharePoint alert does not send spam mails to unwanted uses. Installation are all automated
http://www.shetabtech.com/english/SharePointLiveAuth

Related

Outlook mail authentication

I have created an REST API and it will be consumed from an outlook web mail addins which I also build. Now, I want to make sure that only those who logged-in in Outlook web mail can get access to my API.
So my question now, is how to get the active user in outlook web mail? Is that possible?
You can authenticate your user for service you have implemented. There are several ways of doing this, please read here: https://learn.microsoft.com/en-us/office/dev/add-ins/outlook/authentication.
Please read about Addin API 'getUserIdentityTokenAsync' which looks like what you are looking for in this case.

Using Azure SendGrid to send emails from my work email to other work emails

I set up an Azure SendGrid resource in my company's Azure subscription, got my API key and wrote a C# script to send emails. It works, but the emails go to spam with an SCL=6. I expect this is because I am doing no domain authentication. (Please bear with me as I try to describe my situation, I'm still learning a lot about all this). I am sending the emails through my work/enterprise email account (XYZ#company.com) and they are going to other enterprise accounts on the same domain (company.com). My company is a large tech company with a very well known domain. I am just a user on the enterprise network as a normal vendor/employee, with this setup I don't know how I would touch DNS/SPF/DKIM options, which from what I've been reading are the main first steps to authenticate myself as the sender.
I guess my main question is: Can SendGrid be a possible solution to what I am trying to do? I want to send ~250 emails programatically, each from a template so I can substitute in recipient name and specific info, and I can do all that through C#. But is there a way I can authenticate myself so my emails do not go to spam? If not, are there alternative solutions? I'm just trying to avoid having to manually send ~250 customized template emails through Outlook.
Let me know if I need to provide more info, all answers are appreciated! Thank you!

Is there an API to the GMail server?

I know there's an API for a Gmail plugin in your browser. Is there one for the server? For example, if I want to write an anti-virus app that reads emails coming in to an account on the server, then let's them continue or quarantines them - all before the user ever sees them?
Obviously it would have to be authorized for the users it did this for.
EDIT: As of 26/06/2014, this answer has become incorrect, as Google just released a dedicated API to GMail. See the link in this post for reference.
Original answer below this line :
From a technological perspective, it's a mail server just like any other.
Thus, your choice should fall on a mail protocol. It's also already answered in the question you linked: https://stackoverflow.com/a/2820280/1680196
Your app would open an IMAP connection to your mail server of choice (in this case gmail), scan for incoming mail, read the content and trigger a delete / move to trash if necessary.
Personally, I wouldn't trust any app like this running outside my own mailserver / mail client, since this use case requires full read and write access to a users mails.
There might be some API for Google Apps for Domains mail accounts, but I doubt this goes beyond the RSS mail notifications.
Edit: Official Google api documentation also refers to IMAP for accessing user inboxes. Link to IMAP OAuth overview. With application specific passwords users could enable your app to access their account without exposing their actual credentials, but beyond that I fear you are out of luck.
There is an HTTP REST API now!
http://developers.google.com/gmail/api/
(And has been for years if you were willing to use IMAP. :-D)

how to embedding outlook to sharepoint

Is there a method of embedding SharePoint to accept and send emails
I have a SharePoint website but the clients that i have are not fond of using this to communicate with the development team, but rather they would like to use emails, is there any method that i could use in order for me to allow the client team to use emails as a method of communication to the site and then i reply on the share point site and they get the email,
I think SharePoint Site Mailboxes could assist with this requirement. The White Paper will assist with your understanding of Site Mailboxes, their benefit and limitations. The easiest way to test them out is to sign up for an Office 365 Trial (as all the configuration has been performed for you).
Hope it helps.
Note: I'm directly connected with OnePlaceMail who is mentioned in the White Paper.
You could do this with two different features:
from e-mail to SharePoint: enable inbound e-mail in the list, and make sure you have the correct columns the e-mail will populate (for example the e-mail body will go in the Body column)
from SharePoint to e-mail: you can either used an "Assigned To" field (the assignee will receive the notification) or subscribe your users to alerts

Syncing application with email without storing email passwords

I'm working on a web-based application, and looking to integrate each user's e-mail (gmail, yahoo, etc.) into it. I'd like to do an automatic sync (side detail: selective to specific e-mail addresses) of inbox and sent messages, i.e. any messages sent through the application will appear in the user's e-mail, and vice versa; any messages received in the application will appear in the e-mail, and vice versa.
My question: I realize this will probably involve IMAP. Is there a way to go about this without storing the user's e-mail passwords? I'm open to any language, infrastructure, etc.
If there's really no way around storing the passwords, would MD5 be sufficient? Any other thoughts would be greatly appreciated.
you would need to find an OAuth-based API for accessing the email provider. this would allow the user to authenticate themself, provide you with an access token for later use.
I believe you can do this with Gmail, Yahoo (see links)
A situation where this might arise is a private messaging system on a forum. A user might want PMs forwarded to their main email so that they don't have to remember to check the inbox on your site as well as their main email. Then when users reply to those messages, you want the reply to go as a PM to another forum user.
Forwarding PMs as emails is trivial. In order to allow replies, you need to have the email server on your site parse out some information in the email that indicates which user it should be forwarded to as a PM.
If you really want to allow a user to access their entire GMail inbox from within the interface on your site, rather than just messages that went through your site anyway, then you are facing a much larger task.

Resources