(ctx context.Context, rcptBlock *rcptBlock, rcptTo string)
| 607 | } |
| 608 | |
| 609 | func (dd *msgpipelineDelivery) getRcptModifiers(ctx context.Context, rcptBlock *rcptBlock, rcptTo string) (module.ModifierState, error) { |
| 610 | rcptModifiersState, ok := dd.rcptModifiersState[rcptBlock] |
| 611 | if ok { |
| 612 | return rcptModifiersState, nil |
| 613 | } |
| 614 | |
| 615 | rcptModifiersState, err := rcptBlock.modifiers.ModStateForMsg(ctx, dd.msgMeta) |
| 616 | if err != nil { |
| 617 | return nil, err |
| 618 | } |
| 619 | |
| 620 | newSender, err := rcptModifiersState.RewriteSender(ctx, dd.sourceAddr) |
| 621 | if err == nil && newSender != dd.sourceAddr { |
| 622 | dd.log.Msg("Per-recipient modifier changed sender address. This is not supported and will "+ |
| 623 | "be ignored.", "rcpt", rcptTo, "originalFrom", dd.sourceAddr, "modifiedFrom", newSender) |
| 624 | } |
| 625 | |
| 626 | dd.rcptModifiersState[rcptBlock] = rcptModifiersState |
| 627 | return rcptModifiersState, nil |
| 628 | } |
| 629 | |
| 630 | func (dd *msgpipelineDelivery) getDelivery(ctx context.Context, tgt module.DeliveryTarget) (*delivery, error) { |
| 631 | delivery_, ok := dd.deliveries[tgt] |
no test coverage detected