On some special situations (probably bad server config) Gitlab instead of queuing email throws 500 error.
To fix it You can force Gitlab to send emails immediately.
Just run this script inside gitlab installation folder (normally it's /home/gitlab/gitlab):
grep -r "Notify.delay" app/* | cut -d":" -f1 | xargs sed -i.bak -e"s/Notify\.delay\.\(.*\)/Notify.\1.deliver/"