Is there an unique identifier for MS outlook email message? - api

I know that MS set a field called ConversationId that uniquely identify a mail thread for each user. This works for replies of non domain users inclusive.
So, how MS does this? Are they using an hidden unique email ID for that?
I'd like know if there some way to identify messages generated by MS outlook users (web) that could be used to track a message among the domain users.

Sure, see https://msdn.microsoft.com/en-us/library/office/cc765583.aspx. All of these properties can be accessed using MailItem.PropertyAccessor.

Related

sharepoint registration change notification

I have a class registration set up in SharePoint 2013. Users are emailed when they register for a class. I want to create email notifications when the Start Date, Start Time or Location [fields] of the Session changes. I only want to email the users that have registered for said Session (between 1 and 400 people).
I should be able to handle this with an Alert or an Event, but can't figure it out. My SharePoint team is telling me that this is too difficult because "the columns are in Sessions [list] and not in Registrations [list view].
I've found a lot of information on general SharePoint alerts, but I can't find anything on sending notifications to a select group of users, based on another field.
You could create event receiver for the list and send email by SPUtility.SendEmail with dynamic users.
You could check sample code from here.
Create event receiver in SharePoint 2013.

How to send invitation mail for join a meeting in gotomeeting?

I have an account of gotomeeting and using api to create/start/getMeeting etc but I have not found any api to send mail and invite people to attend a meeting. Is it possible to send invitation mail to people to join a meeting using api? If not then is there any other solution to send meeting invitation mail?
Is it possible to register a user before start of meeting? How can we find how many user has attended the meeting?
Thanks in advanced.
Yes its possible, the email invitation will be in two type
A normal email from server
An appoinment item.
If you want to send a normal email to participants. just fill the mail with join link with Created meetingid
You can create the join link for any particular meeting by concatenating the www.global.gotomeeting.com/join/ with meetingID which is look like www.global.gotomeeting.com/join/25456364 (number is sample meeting id).
send the above details as a mail. Sending mails from program depends on "which language you are developing" like C#/JAVA?
If you want to send the appoinment item, either you need to use EWS (Exchange webservices API) or you need to generate an ".ics" file from application with your meeting details filled in.
For your questions:
Is it possible to register a user before start of the meeting?
Yes, you can. the gotomeeting application itself having the options for invite a participant and adding a co-orrganizer.
How can we find how many user has attended the meeting?
You can find it using the api function call. below is the C# code for getting the attendees of a past meeting.
Namespace : using Citrix.GoToMeeting.Api;
MeetingsApi meeting = new MeetingsApi();
List<AttendeeByMeeting> attendees = new System.Collections.Generic.List<AttendeeByMeeting>();
attendees = meeting.getAttendeesByMeetings(accesToken, 23843894);
NOTE : API is used within the context of gotomeeting application, physically you cannot attend a meeting in any application except GotoMeeting desktop application and GotoMeeting webapplication (which is offered in their website).
GTM isn't going to send the email for you it, as it doesn't have access to any email account. You should be looking to use one of the wide variety of different email APIs around. E.g. if you're in a Windows/Exchange environment then look at using the Exchange Web Services. If you want a more generic solution look for an SMTP library for your platform.
Attendees for GTMs don't register at any point, only hosts need to have a registered account. Even when you join a meeting as an attendee the details (name + email) you put in can be anything. What are you trying to achieve by "pre-registration"?
I can't answer your last question about finding out how many users attended the meeting, I would guess probably not but I'm not really familiar with the API.

Writing data from email to SQL server 2008R2

Following our company processes, our database has to send an email to a manager requesting for approval for some document record changes.
I was wondering if it was possible for the manager to reply to the server with an email containing "Yes" or "Approved" with the document# and have it update the document record accordingly. Right now, the manager has to send the QA dept the approval email, and they have to update the document record manually.
I have looked at SQL Mail, but it seems to be a bad way to go according to a lot of places.
We use Exchange 2010 and SQL Server 2008
Thanks!
Do you have IIS installed in your environment? If so, you can redirect the user from Mail (Outlook) to a service page to update the document approval flag.
If so, create a ASP or ASPX page that takes two query parameters. A document id and a approval notice.
Put two links in the email for the manager to click. You will have to send the email from SQL server with a HTML body. Enclosed are sample links for document 123.
Approve Change
Reject Change
Check out www3schools link below for details query string.
http://www.w3schools.com/asp/coll_querystring.asp
Check out the link below for details on working with databases.
http://blogs.msdn.com/b/morebits/archive/2010/09/26/working-with-data-beginners-guide-to-database-in-asp-net-web-pages-part-1.aspx
As an added feature, you might want to record the Active Directory (Windows Login) of who approved or rejected the document. That way, someone can not approve the document themselves. A date/time might be also handy.
This is one of many solutions you can use.

Storing selected emails from outlook in SQL Server by forwarding

This may not be possible but just wanted to see if anyone could point me in the right direction.
I am building a system that needs to store all corespondence between the company and each client.
Is it possible to forward an email from outlook to a certain email address that will then store this email in an SQL server.
Thanks for any help.
You can try this Outlook Add-on: www.geniusconnect.com
Link Sent Items Outlook Folder to your table and check "Auto Save" option. This will save sent items automatically to DB.
You could write an outlook add-on using .NET that inserts the contents of the e-mail into a SQL Server table and the sender information.
Try looking at it the other way around. Build your email in the database first, then have a separate process actually send out the emails. After every successful send, you mark database email record as "sent".
I recommend an asynchronous approach. As emails are to be sent, they are generated and stored in an EmailQueue table. Another process monitors the EmailQueue table and sends out the emails as it discovers them. This way any delay with the actual sending of email will not interfere with the process that is generating the emails to be sent.

Email Synching into Custom App

How have people intergrated custom CRM type applications with email?
I have a Access 2003 front-end application with a SQL Server 2005 backend. One CRM
part of the application tracks the activity with the customer in a traffic
log table. Sometimes the salesstaff has communication with their customer
using email instead. What do people do to synch this up with an application?
I was thinking about creating a form to enter the initial message, so I
could save it into a table and then have the system generate a email, of
course, this doesn't handle the email communication after the initial email.
Thanks
What you need to do is setup your domain name with a free google apps account. Your sales staff can still use the clients of their choice, but since they are essentially using custom gmail accounts, every single email that they send and receive will be recorded in a nice and neat transactional format in the gmail interface. Since your sales staff is always online, they will always have access to every message they ever sent. If you want to have access to the emails, you can set it up that every single message that gets sent are automatically blind forwarded to your account. Filters can be set up to automatically tag and archive them, so you will not be overwhelmed, but you will still be able to search them. Google Apps will also give you a central contact directory similar to outlook/exchange.
Here are a few options for you:
Use web forms for all communications. When a message is sent out, the only thing it includes is a link back to the site. Responses are sent the same way.
Setup an email alias that your sales staff Cc's when they want their correspondence to be tracked. Your app would periodically read a POP mailbox, and record the traffic. Customers would have to remember to Cc the same email box for the traffic to be remembered.
Establish a single common email box, such as sales#domain.com. All outgoing mail is marked as being from that account, so all replies will go through it. To send mail, sales staff uses a web form. Messages are tagged with a key that associates them with a particular customer. Putting the key in the subject header usually works OK (that's how many support ticket management systems work, for example). Replies from customers keep the tag. Your app then reads an associated POP mailbox, parses out the keys, and stores the email accordingly.