i try to connect with c# ( not by https ) to my Exchange Server(2010 etc.).
Problem is, some Users doesn´t start Outlook so they get no Notify
if is a new Mail is incoming.
So i want to Code some c# App, that is connecting with User Params.
and return the Message of of Unread eMails in a notifyIcon.
Does somebody know the best way to do this connection with Exchange?
grettings from germany
Frank
You can use the EWS-Api (Exchange Web Services). NuGet has it with this name.
With the API you can probably use AutoDiscover to get a connection to your Exchange and then read and write data as required.
We have used Independentsoft WebDAV .NET for Exchange to solve this. I costs some money, but it will save you a lot of time!
Related
I am using IBM lotus note web mail server and looking for a solution on this diagram. My program is written in C# language with OpenPop.NET. Is there an efficient way to monitor new email received in inbox instead of running a schedule job every 1 minute like new mail notification or some signalR type of? I believe that connecting to web mail box again and again every 1 minute is not a good practice. Please suggest.
To the best of my knowledge, there is no published API for push notifications of message delivery from the IBM Domino server.
assuming you can modify the design of the mail files, you could write "before/after new mail arrives" Notes agents. That could send out the notifications, deposit the info in another db, or post it to url. Does not feel to be an extremely efficient solution, but probably better than intense polling of Domino server.
You probably want this to happen just while user has "connected" to his mailbox, not always process all thousands of mail files? This means the agent on Domino should have access to the info if the user is connected or not. In short - a bunch of code on Domino server that makes one think if the whole app would better be Domino based web app (depends of course on what else the app does).
I am trying to create a web service using C#/.Net that can remotely access any user's lotus notes mailbox, contacts, etc. That is given the sever address and username/password details I want to send mails, create contacts, etc. Much like what one might do with EWS managed API for exchange accounts. I am currently using interop.domino.dll for this. It hasn't worked for me so far.
var session = new NotesSession();
session.InitializeUsingNotesUserName("username", "password");
var db = session.GetDatabase( "server", "xyz.nsf", false );
throws exception saying "user is not a server" or
"Failed to read server configuration"
I am a total lotus newbie and any help would be appreciated.
You mixed the server and client way to access the NotesSession. You have two choices:
Client Way
session.Initialize("password"); or session.Initialize();
Install a Notes Client and use Initialize(). If the client is started you do not need to provide a password. If the client is not started a password query will appear. The client is using the configured notes.id and needs that password. You could create a superuser id, that is capable to access all mail file and you do the authentication on your own. Initialize (NotesSession - LotusScript®)
This also should work on a server, but never tried this.
Server Way
session.InitializeUsingNotesUserName("username", "password");
I never tried this, but mistakenly used the method, so I know it's an error to use it with a client.
Theoretically: You Install a Domino Server and use the username and http-password of a user to identify as this user. I don't know if the dll find the right installation if you mix Notes Client and Server on on computer. Theoretically this could be controlled by the path variable, which executables the dll can reach via path. InitializeUsingNotesUserName (NotesSession - LotusScript®)
Domino Server on Windows Client: You can install a Domino Server on a Windows Client for testing purposes, the server will have limited network connections, because of the windows client, but it's utilizable for development. Bear in mind the EULA for Microsoft and IBM.
interop.domino.dll is not in focus of IBM any more. So think about what Richard Schwartz said and focus on the existing REST API or write your own web services as Notes Database and access it from C# as web service.
What needs to be done for an application to be able to issue email addresses, such as user123#mydomain.com?
I'm using Amazon SES to send out emails, do they have a service for this or would this have to do with the domain registrar (GoDaddy), or both?
The client to check email would be the web application itself.
I'm using C#.Net and Mvc for that as far as development is concerned but would prefer to use existing SaaS wherever possible.
What are some good ways to go?
EDIT: I checked with GoDaddy and they can't do this at scale. I don't believe Amazon does this either. How is this done?
This would all depend on your implementation of email server host. If you are running Windows with IIS and Email Post office then users are of the host domain. You can use the admin scripts for adding users from the site in this case.
If you are using Linux and a thrid party email service, it will likely have a user interface for adding users. Howerver these implementations generally use MySQL on the backend so you can add users through script from an implementation of PHP through Apache webserver host or backend service that adds users through MySQL script.
You need a mail server. As you can see from the list there are plenty of mail servers that exist, however there are some serious leaders in the field:
According to one survey, sendmail, Microsoft Exchange Server, Postfix,
and Exim together control over 85% of market share for SMTP service in
2010.1
I strongly recommend not hosting such a server in your code (if an implementation even exists, which I couldn't find)
After configuration of the mail server (which may need some intensive investment either in time or money, since this is complicated; some mail servers are notoriously complicated) you point your domain to the mail server. Mails can now be received to the email adresses you define.
This process is complicated, and I have a feeling that your question shows you don't know exactly what you need either (In fact I would have recommended closing it as too broad). I'd recommend reformulating exactly what you need and what you have so far. Don't hesitate to get in touch with someone that may help you formulate your needs.
We have application implemented in WinForm. Now Customer requests to add new feature - Mail Function. That one i have to connect to customer mail server (Exchange Server) to send marketing email. They are using RPC Over HTTPS with Outlook Client to connect to Exchange Server. They asked me to refer this link http://www.msexchange.org/tutorials/outlookrpchttp.html
That all I know. When they asked, I even don't know what is RPC Over HTTPS. But after I did searching on Internet I understand a bit now. I really need a code sample for this problem.
Please advise me.
Thank you all a lot.
Regards,
What are you using to send messages now?
If you are using the Outlook Object Model or Extended MAPI to send using an existing Outlook profile, there is nothing you need to do - that will all happen under the hood.
I have been able to send mails from my own domain successfully. My problem now is that I need to access the account and retrieve all the mails that I receive from postmaster and process the information in the mail.
How can I do this? I have been searching the web but could only find solutions involving third party libraries. .NET doesn't bring an inbuild class that helps with this?
First you need to understand what protocols does the Mail Server in question support.
You can find this by either reading the help that accompanies it or search in Google for that Mail Server. You may also need to set some settings on the server before you can start coding.
After you understood what protocols your server supports, use some of the following:
If you are using a POP3 server, you may fine the following article useful : A POP3 Client in C# .NET
If you are facing IMAP or Exchange server, you may want to the link that Billy Coover gave you: Read MS Exchange email in C#
What type of email server are you working with? If it's exchange, there are some options: Access exchange e-mail in C#
First you can try to dedect what protocols(IMAP/POP3) supported by remote server.
You can try imap_clinet_app.zip or pop3_client_app.zip applications from http://www.lumisoft.ee/lsWWW/download/downloads/Examples/ to connect your server.
If you can connect, then specified protocol supported.
Both application comes with full source code, so if can use IMAP or POP3, you can use that library in your project.