In WordPress possiamo creare un sistema di upload con invio dei file come allegati delle e-mail.
La soluzione è la seguente (file è il valore dell'attributo name del campo di tipo file del form di upload):
function my_upload() {
$attachment_id = media_handle_upload( 'file', 0 );
$success = false;
if( !is_wp_error( $attachment_id ) ) {
$message = __( 'New upload', 'mytextdomain' );
$to = get_bloginfo( 'admin_email' );
$subject = $message . ' - ' . get_bloginfo( 'name' );
$headers = array( 'From: ' . get_bloginfo( 'name' ) . ' <wordpress@mydomain.tld>' );
wp_mail( $to, $subject, $message, $headers, array( get_attached_file( $attachment_id ) ) );
$success = true;
}
return $success;
}