我使用IMAP从gmail获取邮件。它可以很好地从收件箱中提取电子邮件,但是当涉及到发送邮件时,它会提供空值。
这是我使用的代码:
Uri destinationUri = Uri.fromFile(new File(myContext.getCacheDir(), "IMG_" + System.currentTimeMillis()));
UCrop.of(sourceUri, destinationUri)
.withMaxResultSize(1080, 768) // any resolution you want
.start(mContext, YourFragment/YourActivity.this);
这是我的输出:
我也在stackoverflow上搜索过,到目前为止,这是我唯一的帮助还不够
真的很感激任何形式的帮助。
答案 0 :(得分:2)
我通过设置默认邮箱解决了这个问题。 在我的情况下,默认邮箱始终是INBOX ,因为我无法获取已发送的邮件。它花了一行来解决这个问题。这是我现在使用的代码:
ImapClient client = new ImapClient("ExampleHost", port, ssl);
client.DefaultMailbox = "[Gmail]/Sent Mail";
try
{
client.Login("ExampleEmail", "ExamplePass", AuthMethod.Login);
IEnumerable<uint> units = client.Search(SearchCondition.Seen());
DataTable TempTaskTable = new DataTable();
TempTaskTable.Columns.Add("FromEmail", typeof(string));
TempTaskTable.Columns.Add("ToEmail", typeof(string));
TempTaskTable.Columns.Add("Subject", typeof(string));
foreach (var uid in units)
{
System.Net.Mail.MailMessage email = client.GetMessage(uid,true, "[Gmail]/Sent Mail");
DataRow TempTaskRow2 = TempTaskTable.NewRow();
TempTaskRow2["FromEmail"] = email.Sender;
TempTaskRow2["ToEmail"] = email.From;
TempTaskRow2["Subject"] = email.Subject;
}
}
catch (Exception ex)
{
string exceptionCheck = ex.Message;
}
您还可以使用以下方式查看所有邮箱:
List<String> mailBoxesCheck = new List<string>();
foreach (var folder in client.ListMailboxes())
{
mailBoxesCheck.Add(folder);
}