run a script or sanity check against outgoing emails in outlook 2010 - outlook

Is there a way to setup Outlook 2010 to run a script or some other form of sanity-check when you attempt to SEND messages from the client? My specific situation is that I use the same outlook client for multiple accounts (work, gmail, VPS server, etc) and I've found myself a couple of times sending emails "from" the wrong account.
In a perfect world I'd want to be able to write a script with logic something like the following:
when (I hit send)
if (the "source" account is "myuserid#gmail.com") then
if (there are addresses in TO or CC that match "work.com") then
pop up a dialog box that says:
"You appear to be sending email to work.com from gmail.com - do you really want to do this?"
if yes, then send it and return
if no, go back to the message compose window
that way, I'd have to actually very intentionally use a non-work email address to send email to the work people (which is rare in my particular case)

Try SendUsingAccount to read the "source" account in ItemSend.

Related

Can messages on an Exchange Server be tampered with by a client user?

Is ist possible for a user connected to Exchange Server via a client (Outlook Web App) to tamper with the e-mails in his mailbox (inbox, drafts, sent items ect.)?
Like modifying e-mail content (text, subject...) or properties (date, time, recipient...).
The core of the question is: If there is an e-mail in the user's sent items folder and this user did not have access to the Exchange Server (neither physically nor remotely, except for his standard user access), how sure (or probable) ist it, that this e-mail has really been sent on that date and time with exactly that text to exactly those recipients and that it had not been planted there at a later date?
Does it make a difference if that user only has access to his account via Outlook Web App or if he also has access via MS Outlook?
Outlook Web App is just a client so it won't allow you to modify a sent email or fake/import one as that is not a valid task for that client. You could do this at the API level using something like EWS or MAPI but that would require knowledge that most users won't have (but most likly they would have access to do it though). The Mitigation to this is if you have Litigation hold enabled https://technet.microsoft.com/en-us/library/ee861123%28v=exchg.141%29.aspx on the mailbox then any changes they did make to a message would be tracked and you would always be able to see the original version. Also if you looked at the message with a MAPI editor like MFCMapi or OutlookSpy there would be tell tails of somebody trying to fake a message like the Creation time not matching the sent time etc and other properties would most likly give it away.
One thing i would suggest is look at your Message Tracking log as they will tell you exactly what was sent and who is was sent to and the time https://technet.microsoft.com/en-us/library/bb124375%28v=exchg.160%29.aspx while these also aren't immutable it would take an administrative access to the server to modify.

Get user email in windows 10 universal app

I am trying to build a control that the user can use to send feedback to developer. I am using email as a delivery method and I leverage sendgrid email service for this. Now I want to know the users email address so I can respond back to the user's concern. I am not sure how to get the user's email in window 10. Any help or pointers please?
I would strongly recommend to use the sharing approach that has been introduced with Windows 8 - instead of writing and maintaining your own mail functionality and trying to access additional user data.
Have a look at the existing and built in e-mail functionalities. They make use of the user's connected mail accounts and the mail app. This way you don't need to worry about handling the message transmission or anything but rather hand the information over to the mail client. This way you also know how to reply back.
And as a bonus, the user can still access their message via the Sent Mails folder :)
There is a specific class for that, the EmailMessageClass (https://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.email.emailmessage.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1) as well as a dedicated guide with code example.
https://msdn.microsoft.com/en-us/library/windows/apps/mt269391.aspx
Essentially you can prepopulate the Mail fields with necessary app information where applicable. The user gets to choose which accounts he wants to send the mail from, but it will open in the mail client.

Can outlook (web) notify me that I have email?

I have two email accounts. One of them I use every day. The other one, I have to fire up a VPN, authenticate through a firewall, and then run Outlook Web Access. Triple-yuck.
I'd like to set up a rule that says "Whenever I receive an email to annoyingaccount#company.com, send an email to mydailyaccount#myworkplace.com letting me know to check annoyingaccount." I do not want am not allowed to forward the actual email to mydailyaccount. I simply want a notice that email is waiting for me.
I see options that will let me forward the email or send a text message, but I don't see an option to just send a boilerplate email. Is there something I'm missing, or a "trick" I need to do, or am I just out of luck?
There is not an option like this in the Rules Wizard.
You can forward the email to your account and use rules to:
File the AnnoyingAccount email in a folder (so it is out of the way)
Display an a custom message in your MyDailyAccount email.
Take a look at the the display a specific message in the New Item Alert window option found on the 2nd screen of the Rules Wizard.
Here is a quick How To:
http://www.howto-outlook.com/howto/newmailalert.htm

Send me SMS when I get an email on my server

I have postfix and dovecot running on a server. When a certain kind of email comes in for accounts on the domain, I'd like an SMS to go out. I already set this up for one user using Postfix's BCC mapping and the "SMS email addresses" provided by the tel co.
However, here in the post-Snowden world, with heightened awareness of how easy SMS apparently is to hack, and with potential issues with long emails being sent via SMS, we want the SMS to just say "you got an email" or something like that. We don't want to BCC the entire email message via the SMS system. That's what email is for; we just want the SMS to be an alert, like the way pagers were used in the old days. I suspect there should be a way to do this but it might take me days to learn enough about procmail or script piping and postfix gateways to figure it out.
I would be surprised if I was the first person in the world to want to send an SMS alert on email events?
So the BCC is apparently not a problem. The email-to-SMS is apparently not a problem. The problem is how to modify the body of the BCC'd email, or otherwise how to send a simple SMS alert (or simple email alert) upon certain email events (specifically, when email is received for certain recipients on the server via postfix).
Thanks!
You may use dovecot's sieve with enotify or vnd.dovecot.execute.
Simple enotify can deliver exactly what you have asked for. Dovecot specific vnd.dovecot.execute can be used to implement extra protections to avoid turning mail bombing into SMS bombing.
Example from RFC5435:
require ["enotify"];
if header :contains "from" "boss#example.org" {
notify :importance "1"
:message "This is probably very important"
"mailto:alm#example.com";
}

How do I verify an email address is real and in use using the Sender Policy Framework

From what I've been reading the SPF can be used to validate email addresses by sending commands (rather than an actual email) such as HELO. I've managed to pick up a basic grasp of the policy but I can't get my head around how I'd go about solving the following problem:
I've got a number of email addresses attached to contacts in a CRM system and I'd like to find out if the email addresses are valid and still in use.
Currently we're using a REST Web Service (http://emailinspector.co.uk/) which returns "Ok" (if its ok... duh), "Bad" (if its not valid or not in use) or "Unknown". For Unknown, you are also provided some notes on why it came back with that, i.e. you are told if the Mailbox is full or if its a well known DEA.
I'd like to be able to program a script that can replicate this functionality and from what I've worked out it should use the Sender Policy Framework to do this? The problem is I don't know how I'd go about returning such precise information for "Unknown" email addresses.
Ideas and thoughts?
Actually SPF is just a text record, with some "hints" to let you know if an IP address or mail server is "allowed/Authorized" to send email for that domain. It doesn't tell you anything about an individual email address in that domain..
for example
[doon#qix:~] host -t txt labratsoftware.com
labratsoftware.com descriptive text "v=spf1 a -all"
The SPF record for one of my domains says that only the a record for the domain is authorized to send email for labratsoftware.com, and that if it doesn't come from that IP then it should be rejected (-all).
So the best you can do with SPF is tell that a received email came from an authorized host, and then use that information to help decide if you want to reject it or not.
The best way To test the validity of an email address you have, is to email it, and see if it bounces. You can use options like VERP (http://en.wikipedia.org/wiki/Variable_envelope_return_path) to automate the bounce handling. You can also try and connect to the MX records listed for the domain and try to deliver a message that way. Some Mail servers support verify (But most admins disable this to prevent information leakage). You can use RCPT TO to see if the server accepts it, but even if it does , you have no way of knowing if it will actually make it to their INBOX. My guess is that is what the API you are currently using is doing. And unknown are just ones that either don't answer, greylist, etc.

Resources