It might be the extraneous space in the Organizational Unit name:
"OU=OUNAME,OU=OUABOVE,OU=OUAbove, OU=MAINOU,DC=DOMAINNAME,DC=net"
^
|
+---- This
But it's also (more) likely that it's use of "-contains" instead of "-like" in the Where-Object cmdlet, and your use of the property "mail" instead of the "EmailAddress" in the same conditional statement.
You can also make your code more readable:
$props = "SAMAccountname", "GivenName", "Surname", "Title", "Division", "Department", "EmailAddress" , "Manager", "TelephoneNumber"
Get-ADUser -Filter * -SearchBase "OU=OUNAME,OU=OUABOVE,OU=OUAbove,OU=MAINOU,DC=DOMAINNAME,DC=net" -Properties $props |
Select-Object $props |
Where-Object {$_.EmailAddress -LIKE "*@email.com"} |
Export-CSV "C:\Users\GBU101\external_user_superiormail.csv" -Append -NoTypeInformation