Selecting/Forwarding Emails in Outlook based on Subject Criteria (text file) - email

Using Outlook 2010 and a .csv text file.
I have a list of ticket numbers that I work with daily. Once I deal with the tickets I have to forward the associated email to a third party. Conveniently, we use unique ticket IDs (6 digit numbers) on all our tickets and I have a program that fills a text file (well, .csv) with the list of the tickets I work every day. I'm trying to find a way to have outlook read that file and search a certain folder for emails with the ticket ID in the subject line and then forward them.
Essentially I want Outlook to read the first line in the .csv, locate the matching Email and forward it. Rinse and Repeat until the file is read all the way through.

So, assuming you want to create a VBA macro in Outlook, here's the basic architecture:
Set a reference to the Microsoft Office Excel Object Model library
Use Excel VBA to open that .csv for editing
Search for the emails in Outlook using the data you've acquired
from the spreadsheet
That should get you started!

Related

Add metadata to large number of files in SharePoint Online

We're migrating a large number of files from a document management system into SharePoint online. We have important metadata associated with a good number of the files. The export process renames the files as nnnnn_yyyyy_oldfilename with nnnnn being a cabinet number and yyyyy being a folder number. It also creates a file that associates all existing metadata by these two pieces of information. Is it practical to script renaming the files back to their original names while storing the two pieces of information in new custom metadata fields (cabinet, ofolder) for each file? If we can save those pieces of information, we'll then be able to use a similar script to push the saved information into other custom metadata fields later on.

Email sent to an address from a csv file in Talend (one time)

I need to send an email using Talend however using I need to have the address captured from a csv file. (automated each time and not specified manually)
Right now I can only add an email address manually. I need Talend to capture it from the csv file and also I need it to send once and not many times (right now as long as the query is running it send many emails)
I am not sure if this is what you are after but this is my suggestion:
The tSetGlobalVar component simply initializes the variables like this:
Then the tMap supplies the t_Java_Row with the e-mail from the file (I am assuming that is where it is - you didn't specify). The code in the tMap sets the values of the global variables with this code (in the code section of the tJava_Row component)
globalMap.put("email", input_row.email);
globalMap.put("body", input_row.body);
Then in the send mail component you recall the variables that were set.
Hope there is enough in there to help a bit. There might be other ways to do this, but that would be my approach.
Cheers.

SharePoint 2010 InfoPath Forms Library FileName

I have a forms library in SharePoint 2010, and have designed the InfoPath form to add/update content to that library. Let's say that I have a field in the InfoPath form called "CustomFileName" - so that every time that field is updated, the InfoPath file's name is changed to that.
Instead, it is creating a new File/Entry every time the "CustomFileName" field is updated. I tried using Workflows, but it isn't an option since the CustomFileName values sometimes contains multiple periods that break the Workflow.
Checklist:
In the Data Connection Wizard, I do have "CustomFileName" specified in the "File Name" field
In the Submit rules, I do have a rule for when the "CustomFileName" is empty - to use a Name+".xml" notation
We need the file name to be renamed instead of creating a new file every time. Over-writing is okay, as long as we can trace the version history.
Any help here would be much appreciated.

Powershell - Copying CSV, Modifying Headers, and Continuously Updating New CSV

We have a log that tracks faxes sent through our fax server. It is a .csv that contains Date_Time, Duration, CallerID, Direction (i.e. inbound/outbound), Dialed#, and Answered#. This file is overwritten every 10 minutes with any new info that was tracked on the fax server. This cannot be changed to be appended.
Sometimes our faxes fail, and the duration on those will be equal to 00:00:00. We really don't know if they are failing until users let us know that they are getting complaints about missing faxes. I am trying to create a Powershell script that can read the file and notify us via email if there are n amount of failures.
I started working on it, but it quickly became a big mess as I ran into more problems. One issue I was trying to overcome was having it email us over and over if there are certain failures. Since I can't save anything on the original .csv's, I was trying to preform these ideas in the script.
Copy .csv with a new header titled "LoggedFailure". Create file if it doesn't exist.
Compare the two files, and add different data (i.e. updates on the original) to the copy.
Check copied .csv for Durations equal to 00:00:00. If it is, mark the LoggedFailure header as "Yes" or some value.
If there are n amount of failures, email us.
Have this script run as a scheduled task (every hour or so).
I'm having difficulty with maintaining the data. I haven't done a lot of work with scripting or programming, so I'm having trouble with making the correct logic. I can look up cmdlets and understand them, but my main issue is logic. Does anyone have any tips or could provide some ideas on how to best update the data, track failures as to not send duplicate information, and have it run?
I'd use a hash table with the Dialed# as the key. Create PSCustomObjects that have LastFail date and FailCount properties as the values. Read through the log in chronological order, and add/increment a new entry in the hash table every time it finds an entry with Duration of 00:00:00 that's newer than what's already in the hash table. If it finds a successful delivery event, delete the entry with that Dialed# key from the hash table if it exists.
When it's done, the hash table keys will be a collection of the Dialed numbers that are failing, and the objects in the values will tell you how many failures there have been, and when the last one was. Use that to determine determine if an alert needs to be sent, and what numbers to report.
When a problem with a given fax number is resolved, a successful fax to that number will clear the entry from the hash table, and stop the alerts.
Save the hash table between runs by exporting it as CLIXML, and re-import it at the beginning of each run.

Extracting text from archived Outlook messages

In an Outlook folder, I store hundreds of messages about the status of a battery system. The emails are automatically sent daily. Each message contains information on the battery voltage in the message body, and the information is always formatted as follows,
DATE: 9/14/2011
Main Battery Voltage [V]: 25.67
I would like to write a routine to extract the battery voltage and date information from each message body and concatenate the results so I get a vector of [date, voltage]. I'd like the routine to run from the command line, rather than using Outlook. What is the right tool for this task? Are Outlook messages in a specific folder saved as ASCII files somewhere? If that is the case, I could easily open all the files using perl or similar tool and pull the information out. I just don't know how and where the message body information is stored.
Convert your Outlook message store into a standard formats like Maildir or Mbox first, then employ Email::Folder or Mail::Box for the parsing.
If you want to bypass Outlook entirely, you could use IMAP::Client or somesuch to fetch the mail directly from the server. Depending on how Outlook was configured, existing messages may or may not be there, but it'll work for all new messages, anyway.