Forum Discussion
iRule to modify SMTP mail content
Hi, We have an requirement, where in we need to inspect the incoming SMTP message, look for a particular string and based on that modify the mail content. I have written the below iRule but this is not working. The CLIENT_DATA event is being triggered. I refered to the SMTP proxy iRule provided in this link(https://devcentral.f5.com/wiki/iRules.SMTPProxy.ashx?NS=iRules). I am not sure if i am missing anything here.
when CLIENT_ACCEPTED {
TCP::respond "220\r\n" TCP::collect 2000 } when CLIENT_DATA { set cdata [TCP::payload] if { $cdata starts_with "DATA" } { if { [string match "Exchange2010R2" $cdata ]} {
string map {"Sent From:" "Sent From:\nExchange 2010 R2 Server\n"} TCP::payload
}
} TCP::release TCP::collect }
Thanks in Advance. Ajay
15 Replies
- Seth_Cooper
Employee
I haven't tested this but try something like this below. I would also recommend adding logging statements as you process through and get your iRule working correctly. This will be a timesaver as you troubleshoot and debug.
when CLIENT_ACCEPTED { TCP::respond "220\r\n" TCP::collect 2000 } when CLIENT_DATA { set cdata [TCP::payload] if { $cdata starts_with "DATA" } { if { $cdata contains "Exchange2010R2" } { set new_payload [string map {"Sent From:" "Sent From:\nExchange 2010 R2 Server\n"} $cdata] TCP::payload replace 0 0 $new_payload } } TCP::release TCP::collect }
Seth
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com