The $y defined-macro ($y) is intended to hold as its value the base name of the controlling tty device (if there is one). On BSD-derived systems this is a name such as the following, but with the /dev/ prefix removed: /dev/tty04 Defining TTYNAME enables sendmail to put this information into $y : APPENDDEF(`confENVDEF', `-DTTYNAME') Note that TTYNAME is useful only for debugging sendmail . The sendmail program does not itself use $y for anything. Also note that defining TTYNAME requires that your system support the ttyname (2) system call. If you are running a precompiled version of sendmail , you can determine whether TTYNAME was defined by sending mail with the -d35.9 debugging switch (-d35.9) and watching for $y to be defined. You can tell because this line will be printed: define(y as ttyp1) |