export COLORTERM=truecolor
iTerm2 supports true colors, however, there's no official way of advertising this feature.
Unfortunately the maintainer of ncurses and terminfo is not interested at all in adding this possibility to terminfo, see e.g. https://lists.gnu.org/archive/html/bug-ncurses/2016-08/msg00036.html.
S-Lang, on the other hand, has just released its version 2.3.1 with true color support. Due to the lack of an "official" way of checking for this feature, the author decided to look at the COLORTERM environment variable expecting it to be set to either "truecolor" or "24bit". See http://lists.jedsoft.org/lists/slang-users/2016/0000014.html.
The probably most well-known application using S-Lang (by default, with ncurses being an option too) is Midnight Commander. It has a patch on its way to support true colors, see https://www.midnight-commander.org/ticket/3145.
VTE (gnome-terminal et al) sets this environment variable beginning with version 0.44, see https://bugzilla.gnome.org/show_bug.cgi?id=754521.
Please make iTerm2 set this variable. This is required for a forthcoming version of Midnight Commander to support true colors out of the box without any kind of hacking. Also, being consistent across terminal emulators is the best we could do to make this a de facto standard and encourage the authors of other applications that support true colors to also check for this environment variable rather than everyone coming up with their own individual hacks.