You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Outlook/Exchange Online中以重发/转发邮箱为发件人处理邮件

针对Exchange Online的两种转发需求解决方案

需求1:伪装发件人转发(显示发件人为firstreceiver@domain.com)

方案1:Exchange Online邮件流规则(传输规则)

  • 登录Exchange管理中心,进入邮件流 > 规则,新建规则
  • 条件:勾选“收件人是”并选择firstreceiver@domain.com,同时勾选“发件人是”并选择sender@domain.com
  • 操作:
    1. 选择“将邮件重定向到”并添加finalreceiver@domain.com
    2. 添加操作“重写发件人地址”,设置为firstreceiver@domain.com
  • 保存规则后,符合条件的邮件会自动重定向,且收件方看到的发件人为指定邮箱

方案2:PowerShell脚本(实时/定时触发)

  1. 安装并连接Exchange Online PowerShell模块:
    Install-Module -Name ExchangeOnlineManagement
    Connect-ExchangeOnline -UserPrincipalName your-admin-account@domain.com
    
  2. 编写脚本监控并转发邮件(示例):
    # 获取指定邮箱中来自sender的未读邮件
    $targetEmails = Search-Mailbox -Identity firstreceiver@domain.com -SearchQuery "from:sender@domain.com isread:false" -TargetMailbox your-admin-account@domain.com -TargetFolder "ForwardTemp" -LogLevel Full
    
    # 遍历邮件并转发
    foreach ($email in $targetEmails) {
        Send-MailMessage `
            -From "firstreceiver@domain.com" `
            -To "finalreceiver@domain.com" `
            -Subject $email.Subject `
            -Body $email.Body `
            -SmtpServer "smtp.office365.com" `
            -Port 587 `
            -UseSsl `
            -Credential (Get-Credential)
        # 标记邮件为已读
        Set-MailboxMessage -Identity firstreceiver@domain.com -MessageId $email.MessageId -IsRead $true
    }
    
  • 注意:执行脚本的账号需要拥有firstreceiver@domain.com的完全访问权限和发送为权限

需求2:无FW:和转发头部的原样转发

方案1:邮件流规则自定义转发

  • 新建邮件流规则,条件根据需求设置(比如“收件人是firstreceiver@domain.com”)
  • 操作:
    1. 选择“生成新邮件”,设置收件人为finalreceiver@domain.com,发件人为firstreceiver@domain.com
    2. 设置主题为%Subject%(自动获取原邮件主题),若要去掉已有的FW:,添加操作“替换主题中的文本”,将“FW: ”替换为空字符串
    3. 设置正文为原邮件的正文(选择“包含原始邮件的文本”并勾选“不包含邮件头信息”),同时添加附件
  • 此规则会生成全新邮件,无转发标识和头部

方案2:PowerShell脚本原样转发

使用脚本直接提取原邮件的所有内容,重新发送:

Connect-ExchangeOnline

# 获取近24小时内收件箱的已投递邮件
$inboxEmails = Get-MessageTrace -RecipientAddress firstreceiver@domain.com -StartDate (Get-Date).AddHours(-24) | Where-Object { $_.Status -eq "Delivered" }

foreach ($msg in $inboxEmails) {
    $mailItem = Get-MailMessage -Identity $msg.MessageId -Mailbox firstreceiver@domain.com
    # 处理主题,去掉前缀FW:
    $newSubject = $mailItem.Subject -replace "^FW: ", ""
    # 重新发送邮件
    Send-MailMessage `
        -From "firstreceiver@domain.com" `
        -To "finalreceiver@domain.com" `
        -Subject $newSubject `
        -Body $mailItem.BodyHtml `
        -BodyAsHtml `
        -Attachments ($mailItem.Attachments | ForEach-Object { $_.FileName }) `
        -SmtpServer "smtp.office365.com" `
        -Port 587 `
        -UseSsl `
        -Credential (Get-Credential)
}

内容的提问来源于stack exchange,提问作者StigK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 05:22:35