public FileStreamResult DownloadMessage(Guid id) { Message result = GetDbMessage(id); return(new FileStreamResult(new MemoryStream(result.Data), "message/rfc822") { FileDownloadName = $"{id}.eml" }); }
public IActionResult RelayMessage(Guid id, [FromBody] MessageRelayOptions options) { Message message = GetDbMessage(id); Dictionary <MailboxAddress, Exception> relayErrors = server.TryRelayMessage(message, options?.OverrideRecipientAddresses?.Length > 0 ? options?.OverrideRecipientAddresses.Select(a => MailboxAddress.Parse(a)).ToArray() : null); if (relayErrors.Any()) { string relayErrorSummary = string.Join(". ", relayErrors.Select(e => e.Key.Address + ": " + e.Value.Message)); return(Problem("Failed to relay to recipients: " + relayErrorSummary)); } return(Ok()); }