Hi,
Like always there are ,multiple options which you can use for the task according to what fits you best in your specific case.
Option 1: (not recommended but working and in some VERY rare case can fits) Use computed column which based on SQLCLR function. The function can send the email every time the column is selected as the function is executed dynamically when the column is selected.
Option 2: Using Extended Event to monitor all SELECT actions on the specific table -> store the information in activities table or in a QUEUE including -> check the QUEUE/table every few seconds (can be done using JOB) -> parse the information and check if the specific column was selected -> send email asynchronously -> remove the message from the QUEUE or mark the row in the table as "used".
Option 3: (probably best for most cases like this) use SQL Server Audit feature - as the answer Tom Phillips already gave you
Important! Store the audit information in a table and use JOB to send emails once every few seconds/minutes/hours (as fit your needs). Do not send the email rightway. It is best to collect information every X time and send all emails