Hice y probé la parte de enviar archivo falta colocarlo bien ordenado como tu tienes el de enviar mensaje
y revisar el envio servidor cliente, que no hice generico y no utilizando el archivo (es poco)