Skip to content

Commit

Permalink
PR_PRIMARY_SEND_ACCT smtp address should be lastindexof \u0001
Browse files Browse the repository at this point in the history
currently returns entire string instead of only smtp address.
  • Loading branch information
gumtreehill committed Sep 5, 2018
1 parent fabda98 commit 7fa4c75
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
10 changes: 6 additions & 4 deletions MsgReaderCore/Outlook/Message.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1761,10 +1761,11 @@ private void SetEmailSenderAndRepresentingSender()
// PR_PRIMARY_SEND_ACCT can contain the smtp address of an exchange account
if (string.IsNullOrEmpty(tempEmail) || tempEmail.IndexOf("@", StringComparison.Ordinal) < 0)
{
var testSeparator = "\u0001";
var testEmail = GetMapiPropertyString(MapiTags.PR_PRIMARY_SEND_ACCT);
if(!string.IsNullOrEmpty(testEmail) && testEmail.IndexOf("\u0001", StringComparison.Ordinal) > 0)
if(!string.IsNullOrEmpty(testEmail) && testEmail.IndexOf(testSeparator, StringComparison.Ordinal) > 0)
{
testEmail = testEmail.Substring(testEmail.IndexOf("\u0001", StringComparison.Ordinal));
testEmail = testEmail.Substring(testEmail.LastIndexOf(testSeparator, StringComparison.Ordinal) + testSeparator.Length);
if (string.IsNullOrEmpty(testEmail) || testEmail.LastIndexOf("@", StringComparison.Ordinal) > 0)
tempEmail = testEmail;
}
Expand All @@ -1773,10 +1774,11 @@ private void SetEmailSenderAndRepresentingSender()

//if (string.IsNullOrEmpty(tempEmail) || tempEmail.IndexOf("@", StringComparison.Ordinal) < 0)
//{
// var testSeparator = "\u0001";
// var testEmail = GetMapiPropertyString(MapiTags.PR_NEXT_SEND_ACCT);
// if (!string.IsNullOrEmpty(testEmail) && testEmail.IndexOf("\u0001", StringComparison.Ordinal) > 0)
// if (!string.IsNullOrEmpty(testEmail) && testEmail.IndexOf(testSeparator, StringComparison.Ordinal) > 0)
// {
// testEmail = testEmail.Substring(testEmail.IndexOf("\u0001", StringComparison.Ordinal));
// testEmail = testEmail.Substring(testEmail.LastIndexOf(testSeparator, StringComparison.Ordinal) + testSeparator.Length);
// if (string.IsNullOrEmpty(testEmail) || testEmail.LastIndexOf("@", StringComparison.Ordinal) > 0)
// tempEmail = testEmail;
// }
Expand Down
3 changes: 3 additions & 0 deletions MsgViewer/ViewerForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,9 @@ private void OpenFile(string fileName)

var msgReader = new Reader();

var aa = new MsgReader.Outlook.Storage.Message(fileName);
aa.Dispose();

// Use this, if you want to extract the code in memory
// using (var streamReader = new StreamReader(fileName))
// {
Expand Down

0 comments on commit 7fa4c75

Please sign in to comment.