添加收件人信息
This commit is contained in:
@@ -32,6 +32,8 @@ public class EmailMessage : BaseEntity
|
||||
/// </summary>
|
||||
public DateTime ReceivedDate { get; set; }
|
||||
|
||||
public string To { get; set; } = string.Empty;
|
||||
|
||||
public string Md5 { get; set; } = string.Empty;
|
||||
|
||||
public string ComputeBodyHash()
|
||||
|
||||
@@ -191,6 +191,7 @@ public class EmailBackgroundService(
|
||||
logger.LogDebug("邮件内容预览: {Preview}", GetEmailBodyPreview(message));
|
||||
|
||||
if (await emailHandleService.HandleEmailAsync(
|
||||
email,
|
||||
message.From.ToString(),
|
||||
message.Subject,
|
||||
message.Date.DateTime,
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace Service;
|
||||
public interface IEmailHandleService
|
||||
{
|
||||
Task<bool> HandleEmailAsync(
|
||||
string to,
|
||||
string from,
|
||||
string subject,
|
||||
DateTime date,
|
||||
@@ -23,6 +24,7 @@ public class EmailHandleService(
|
||||
) : IEmailHandleService
|
||||
{
|
||||
public async Task<bool> HandleEmailAsync(
|
||||
string to,
|
||||
string from,
|
||||
string subject,
|
||||
DateTime date,
|
||||
@@ -42,7 +44,7 @@ public class EmailHandleService(
|
||||
return false;
|
||||
}
|
||||
|
||||
var emailMessage = await SaveEmailAsync(from, subject, date, body);
|
||||
var emailMessage = await SaveEmailAsync(to, from, subject, date, body);
|
||||
|
||||
if (emailMessage == null)
|
||||
{
|
||||
@@ -151,6 +153,7 @@ public class EmailHandleService(
|
||||
}
|
||||
|
||||
private async Task<EmailMessage?> SaveEmailAsync(
|
||||
string to,
|
||||
string from,
|
||||
string subject,
|
||||
DateTime date,
|
||||
@@ -185,6 +188,9 @@ public class EmailHandleService(
|
||||
}
|
||||
|
||||
emailEntity.Md5 = emailMd5;
|
||||
var toName = emailSettings.Value.SmtpList
|
||||
.FirstOrDefault(s => s.Email == to)?.Name ?? "";
|
||||
emailEntity.To = string.IsNullOrEmpty(toName) ? to : $"{toName} <{to}>";
|
||||
var ok = await emailRepo.AddAsync(emailEntity);
|
||||
if (ok)
|
||||
{
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
>
|
||||
<van-cell
|
||||
:title="email.subject"
|
||||
:label="`来自: ${email.from}`"
|
||||
:label="`来自: ${email.from}\n收件: ${email.toName || email.to || '未知'}`"
|
||||
is-link
|
||||
@click="viewDetail(email)"
|
||||
>
|
||||
|
||||
@@ -18,6 +18,8 @@ public class EmailMessageDto
|
||||
/// 已解析的账单数量
|
||||
/// </summary>
|
||||
public int TransactionCount { get; set; }
|
||||
|
||||
public string ToName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 从实体转换为DTO
|
||||
@@ -34,7 +36,8 @@ public class EmailMessageDto
|
||||
ReceivedDate = entity.ReceivedDate,
|
||||
CreateTime = entity.CreateTime,
|
||||
UpdateTime = entity.UpdateTime,
|
||||
TransactionCount = transactionCount
|
||||
TransactionCount = transactionCount,
|
||||
ToName = entity.To?.Split('<').FirstOrDefault()?.Trim() ?? "未知"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,14 @@
|
||||
"ImapHost": "imap.qq.com",
|
||||
"ImapPort": 993,
|
||||
"UseSsl": true
|
||||
},
|
||||
{
|
||||
"Name": "SYE",
|
||||
"Email": "1390853363@qq.com",
|
||||
"Password": "bmoumfqeyopribec",
|
||||
"ImapHost": "imap.qq.com",
|
||||
"ImapPort": 993,
|
||||
"UseSsl": true
|
||||
}
|
||||
],
|
||||
"FilterFromAddresses": [
|
||||
|
||||
Reference in New Issue
Block a user