Si, .. se puede hacer con la función mail() y toda una batería de cabeceras HTTP para mail() + codificación del archivo en sí en base64 y algo más ..
Para eso ya existen classes que te facilitan la vida como:
PHP Mailer
http://phpmailer.sourceforge.net
Tienes otras classes y códigos más simples .. pero esa classe es de lo más completo que hay sobre envio de e-mails con PHP.
Un saludo,