This commit is contained in:
@@ -86,8 +86,3 @@ route:
|
||||
API
|
||||
Add email verification route with code (called by RAVEN)
|
||||
emails us when it's verified as a notification that a trial is ready to send
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -14,6 +14,14 @@ using MimeKit.Utils;
|
||||
|
||||
namespace rockfishCore.Util
|
||||
{
|
||||
|
||||
|
||||
/*
|
||||
HOW TO DIAGNOSE ISSUES:
|
||||
Get a protocol log:
|
||||
https://github.com/jstedfast/MailKit/blob/master/FAQ.md#ProtocolLog
|
||||
docs http://www.mimekit.net/docs/html/Introduction.htm
|
||||
*/
|
||||
//http://www.mimekit.net/
|
||||
public static class RfMail
|
||||
{
|
||||
@@ -603,14 +611,13 @@ namespace rockfishCore.Util
|
||||
{
|
||||
//Console.WriteLine($"getInboxSummariesFor {sourceAccount}");
|
||||
List<rfMessageSummary> ret = new List<rfMessageSummary>();
|
||||
|
||||
using (var client = new ImapClient())
|
||||
// using (var client = new ImapClient(new ProtocolLogger(Console.OpenStandardOutput())))
|
||||
{
|
||||
// Accept all SSL certificates
|
||||
client.ServerCertificateValidationCallback = (s, c, h, e) => true;
|
||||
|
||||
//client.Connect(MAIL_IMAP_ADDRESS, MAIL_IMAP_PORT, true);
|
||||
//testing
|
||||
|
||||
//Console.WriteLine($"connecting to {MAIL_IMAP_ADDRESS} on {MAIL_IMAP_PORT}");
|
||||
client.Connect(MAIL_IMAP_ADDRESS, MAIL_IMAP_PORT);
|
||||
|
||||
@@ -625,28 +632,58 @@ namespace rockfishCore.Util
|
||||
var inbox = client.Inbox;
|
||||
//Console.WriteLine($"opening inbox...");
|
||||
inbox.Open(FolderAccess.ReadOnly);
|
||||
//Console.WriteLine($"fetching summaries...");
|
||||
var summaries = inbox.Fetch(0, -1, MessageSummaryItems.Full | MessageSummaryItems.UniqueId);
|
||||
//Console.WriteLine($"disconnecting...");
|
||||
client.Disconnect(true);
|
||||
foreach (var summary in summaries)
|
||||
|
||||
|
||||
for (int i = 0; i < inbox.Count; i++)
|
||||
{
|
||||
var message = inbox.GetMessage(i);
|
||||
//Sometimes bad hombres don't set a from address so don't expect one
|
||||
string sFrom = "UNKNOWN / NOT SET";
|
||||
if (summary.Envelope.From.Count > 0)
|
||||
if (message.From.Count > 0)
|
||||
{
|
||||
sFrom = summary.Envelope.From[0].ToString().Replace("\"", "").Replace("<", "").Replace(">", "").Trim();
|
||||
sFrom = message.From[0].ToString().Replace("\"", "").Replace("<", "").Replace(">", "").Trim();
|
||||
}
|
||||
//get flags
|
||||
var summ = inbox.Fetch(new[] { i }, MessageSummaryItems.Flags | MessageSummaryItems.UniqueId);
|
||||
|
||||
ret.Add(new rfMessageSummary
|
||||
{
|
||||
account = sourceAccount,
|
||||
id = summary.UniqueId.Id,
|
||||
subject = summary.Envelope.Subject,
|
||||
sent = DateUtil.DateTimeOffSetNullableToEpoch(summary.Envelope.Date),
|
||||
id = summ[0].UniqueId.Id,
|
||||
subject = message.Subject,
|
||||
sent = DateUtil.DateTimeOffSetNullableToEpoch(message.Date),
|
||||
from = sFrom,
|
||||
flags = summary.Flags.ToString().ToLowerInvariant()
|
||||
flags = summ[0].Flags.ToString().ToLowerInvariant()
|
||||
});
|
||||
Console.WriteLine("Subject: {0}", message.Subject);
|
||||
}
|
||||
|
||||
//This was failing with an exception
|
||||
//re-wrote from an example on the mailkit page and it works fine
|
||||
//so going with the new method now
|
||||
|
||||
// //Console.WriteLine($"fetching summaries...");
|
||||
// var summaries = inbox.Fetch(0, -1, MessageSummaryItems.Full | MessageSummaryItems.UniqueId);
|
||||
// //Console.WriteLine($"disconnecting...");
|
||||
// client.Disconnect(true);
|
||||
// foreach (var summary in summaries)
|
||||
// {
|
||||
// //Sometimes bad hombres don't set a from address so don't expect one
|
||||
// string sFrom = "UNKNOWN / NOT SET";
|
||||
// if (summary.Envelope.From.Count > 0)
|
||||
// {
|
||||
// sFrom = summary.Envelope.From[0].ToString().Replace("\"", "").Replace("<", "").Replace(">", "").Trim();
|
||||
// }
|
||||
// ret.Add(new rfMessageSummary
|
||||
// {
|
||||
// account = sourceAccount,
|
||||
// id = summary.UniqueId.Id,
|
||||
// subject = summary.Envelope.Subject,
|
||||
// sent = DateUtil.DateTimeOffSetNullableToEpoch(summary.Envelope.Date),
|
||||
// from = sFrom,
|
||||
// flags = summary.Flags.ToString().ToLowerInvariant()
|
||||
// });
|
||||
// }
|
||||
}
|
||||
//reverse the results array as emails come in oldest first order but we want oldest last
|
||||
ret.Reverse();
|
||||
|
||||
Reference in New Issue
Block a user