Forum Discussion
Ajay_Koushik_19
Apr 06, 2015Nimbostratus
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 n...
cjunior
May 06, 2015Nacreous
Hi, Try this:
when CLIENT_ACCEPTED {
TCP::respond "220\r\n"
TCP::collect
}
when CLIENT_DATA {
set cdata [TCP::payload]
log local0. "Old payload: $cdata"
switch -glob $cdata {
"DATA*" {
if { $cdata ends_with "\r\n.\r\n" } {
if { [string match "*Exchange2010R2*" $cdata ] } {
TCP::payload replace 0 [TCP::payload length] [string map {"Sent From:" "Sent From:\nExchange 2010 R2 Server\n"} [TCP::payload]]
log local0. "New payload: [TCP::payload]"
}
TCP::release
}
}
default {
if { $cdata ends_with "\r\n" } {
TCP::release
}
}
}
TCP::collect
}
It works for me.
But I've tried only in telnet. :) Hope it helps you now!Recent Discussions
Related Content
DevCentral Quicklinks
* 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
Discover DevCentral Connects