Enviar email com anexo usando Intent

Olá, pessoal. Pesquisei e tentei várias soluções, porém nenhuma funcionou.

Estou fazendo meu tcc, e uma das funcionalidades da aplicação é enviar um email com um arquivo gerado em anexo usando um client externo. O email vai, mas o anexo, não.

Trecho do código :

private void exportToEmailClient() {	
		Intent intent = new Intent(Intent.ACTION_SENDTO); 
		intent.setType("message/txt");
		intent.putExtra(Intent.EXTRA_SUBJECT, getEmailSubject());
		intent.putExtra(Intent.EXTRA_TEXT, getEmailBody());
		File file = getAttachment();
		intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));				
		intent.setData(Uri.parse("mailto:"+ getMailTo()));
		startActivity(Intent.createChooser(intent, "Selecione um cliente"));		
	}

	private String getMailTo() {
		return preferences.getString(Constants.PREFERENCES_INFO.DOCTOR_EMAIL, "");
	}

	private File getAttachment() {
		return new File(Environment.getExternalStorageDirectory()+File.separator+"operacaotcc", "arquivo.txt");
	}

	private String getEmailSubject() {
		return preferences.getString(Constants.PREFERENCES_INFO.PATIENT_NAME, "") + "' pressure historic";
	}

	private String getEmailBody() {
		return "Email Body TODO";
	}

Tudo está sendo feito para fins de teste, por enquanto (arquivo dummy).

Ao executar, a lista de clients é mostrada. Seleciono qualquer um dos que tenho (Gmail, Hotmail ou o nativo do android), mas nenhum deles deixa setado o anexo que especifico no Intent.EXTRA_STREAM.

Agradeço qualquer ajuda.

Pessoal, meio que resolvi o problema dessa forma:

private void exportToEmailClient() {	
		Intent intent = new Intent(Intent.ACTION_SEND); //mudei de ACTION_SENDTO
		intent.setType("message/txt");
		intent.putExtra(Intent.EXTRA_SUBJECT, getEmailSubject());
		intent.putExtra(Intent.EXTRA_TEXT, getEmailBody());
		File file = getAttachment();
		intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
		intent.putExtra(Intent.EXTRA_EMAIL, new String[]{getMailTo()}); //Pra substituir o "mailto" abaixo
		//intent.setData(Uri.parse("mailto:"+ getMailTo())); //Comendei depois li o javadoc desse método
		startActivity(intent);		
	}

Ainda não entendo por quê de a outra forma não funcionar.

O negócio é que agora aparecem outros meios de envio na lista, como bluetooth e Skype. Infelizmente nao tenho outro aparelho pra testar agora, mas como funcionaria exportar por bluetooth? O arquivo seria transferido pra outro dispositivo selecionado normalmente? Se sim, achei interessante!

Se não é bem assim, como retirar bluetooth e skype da lista usando o Intent.ACTION_SEND ou como setar um attachment usando o Intent.ACTION_SENDTO?

valeu, gente!