扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1.打开程序列表 选择“邮件”,某些android系统显示为“电子邮件”,打开设置 “账户列表” 选择“新建账户”,页面点击“其他(POP3/IMAP)”
创新互联专业为企业提供大姚网站建设、大姚做网站、大姚网站设计、大姚网站制作等企业网站建设、网页设计与制作、大姚企业网站模板建站服务,10余年大姚做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
2.首先输入您的邮箱地址和密码,然后点击“手动设置”
3.在“接收邮件服务器设置”页面,设置接收邮件服务器的信息,以及邮件地址、用户名和密码,用户名字段可以任意填写。(注:所有项均为必填项,特别要注意一定要填写发件人的用户名及密码)
接收邮件服务器:
协议:选择“POP”页签。
电子邮件地址:请填写您的邮箱帐户全名。
用户名:请填写您的邮箱帐户全名。
密码:请填写您的邮箱密码
POP服务器:请填写POP地址(点此查询客户端配置地址)
服务器端口:参数设置为:110。
如果您的邮件收发需要采用SSL加密,“安全类型”选择SSL,服务器端口参数设置为:1995。
4.点击下一步,在“发送邮件服务器设置”页面设置发件服务器的信息(注:所有项均为必填项,特别要注意一定要填写发件人的用户名及密码)
发送服务器:
用户名:请填写您的邮箱帐户全名。
密码:请填写您的邮箱密码。
SMTP服务器:请填写SMTP地址。(点此查询客户端配置地址)
服务器端口:参数设置为:25。
如果您的邮件收发需要采用SSL加密,“安全类型”选择SSL,服务器端口参数设置为:465。
5.点击“下一步”,如您需要修改姓名,请点击“您的姓名”输入栏输入,如果勾选了“设为我的默认账户”则此账户会设置为手机邮件的默认账户。
6.点击结束设置,接下来您就可以在手机上进行邮件的收发了。
您好,很高兴为您解答。
Android调用Email有三种类型的Intent:
Intent.ACTION_SENDTO 无附件的发送
Intent.ACTION_SEND 带附件的发送
Intent.ACTION_SEND_MULTIPLE 带有多附件的发送
调用Email是Email可以接收Intent并做这些事情,可能也有其他的应用程序实现相关功能,所以在执行的时候,会出现选择框进行选择。
1、使用SENTTO发送 使用SENTTO发送
Intent data=new Intent(Intent.ACTION_SENDTO);
data.setData(Uri.parse("mailto:way.ping.li@gmail.com"));
data.putExtra(Intent.EXTRA_SUBJECT, "这是标题");
data.putExtra(Intent.EXTRA_TEXT, "这是内容");
startActivity(data);
Intent data=new Intent(Intent.ACTION_SENDTO);
data.setData(Uri.parse("mailto:way.ping.li@gmail.com"));
data.putExtra(Intent.EXTRA_SUBJECT, "这是标题");
data.putExtra(Intent.EXTRA_TEXT, "这是内容");
startActivity(data);
通过向Intent中putExtra来设定邮件的相关参数。
2、使用SEND发送
Intent intent = new Intent(Intent.ACTION_SEND);
String[] tos = { "way.ping.li@gmail.com" };
String[] ccs = { "way.ping.li@gmail.com" };
String[] bccs = {"way.ping.li@gmail.com"};
intent.putExtra(Intent.EXTRA_EMAIL, tos);
intent.putExtra(Intent.EXTRA_CC, ccs);
intent.putExtra(Intent.EXTRA_BCC, bccs);
intent.putExtra(Intent.EXTRA_TEXT, "body");
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(""));
intent.setType("image/*");
intent.setType("message/rfc882");
Intent.createChooser(intent, "Choose Email Client");
startActivity(intent);
Intent intent = new Intent(Intent.ACTION_SEND);
String[] tos = { "way.ping.li@gmail.com" };
String[] ccs = { "way.ping.li@gmail.com" };
String[] bccs = {"way.ping.li@gmail.com"};
intent.putExtra(Intent.EXTRA_EMAIL, tos);
intent.putExtra(Intent.EXTRA_CC, ccs);
intent.putExtra(Intent.EXTRA_BCC, bccs);
intent.putExtra(Intent.EXTRA_TEXT, "body");
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(""));
intent.setType("image/*");
intent.setType("message/rfc882");
Intent.createChooser(intent, "Choose Email Client");
startActivity(intent);
分别通过 Intent.EXTRA_EMAIL,
Intent.EXTRA_CC,
Intent.EXTRA_BCC
进行putExtra来设定。单个附件的发送,使用Intent.EXTRA_STREAM来设置附件的地址Uri。
3、使用SEND_MULTIPLE来进行多附件的发送
Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
String[] tos = { "way.ping.li@gmail.com" };
String[] ccs = { "way.ping.li@gmail.com" };
intent.putExtra(Intent.EXTRA_EMAIL, tos);
intent.putExtra(Intent.EXTRA_CC, ccs);
intent.putExtra(Intent.EXTRA_TEXT, "body");
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
ArrayListuri imageUris = new ArrayListuri();
imageUris.add(Uri.parse(""));
imageUris.add(Uri.parse(""));
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
intent.setType("image/*");
intent.setType("message/rfc882");
Intent.createChooser(intent, "Choose Email Client");
startActivity(intent);
Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
String[] tos = { "way.ping.li@gmail.com" };
String[] ccs = { "way.ping.li@gmail.com" };
intent.putExtra(Intent.EXTRA_EMAIL, tos);
intent.putExtra(Intent.EXTRA_CC, ccs);
intent.putExtra(Intent.EXTRA_TEXT, "body");
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
ArrayListuri imageUris = new ArrayListuri();
imageUris.add(Uri.parse(""));
imageUris.add(Uri.parse(""));
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
intent.setType("image/*");
intent.setType("message/rfc882");
Intent.createChooser(intent, "Choose Email Client");
startActivity(intent);
发送多个附件,通过putParcelableArrayListExtra将多个附件的Uri地址List设置进去
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
~ O(∩_∩)O~
主要的发送代码如下:
Java代码
Intent data=new Intent(Intent.ACTION_SENDTO);
data.setData(Uri.parse("mailto:qq10000@qq.com"));
data.putExtra(Intent.EXTRA_SUBJECT, "这是标题");
data.putExtra(Intent.EXTRA_TEXT, "这是内容");
startActivity(data);
首先构造一个Action为SENDTO的Action
其次创建一个Uri,他是一个mailto的邮件链接,也就是接收地址.
再通过Intent.EXTRA_SUBJECT和Intent.EXTRA_TEXT传递标题和文本的数据,记住,一定要使用这些常量,这是标准,否则Email客户端不认识,那样你传递的标题和文本就不起作用了。
然后就是startActivity进行打开,系统会根据Intent自动匹配找到能处理这个intent的应用,如图列表,有很多个,我们这里选择网易掌上邮,就打开了一个邮件发送界面,如我们所愿,邮件地址、标题和内容都在了,很成功.
intent中的数据传递是以Extra的方式进行put后传递的,然后在使用的时候getter取出使用。
四:发送给多人以及抄送和密送
发送给多人以及抄送和密送都很简单,查找Intent类中的Extra常量,发送有这么三个常量:Intent.EXTRA_EMAIL,Intent.EXTRA_CC,Intent.EXTRA_BCC。这三个分别用于传递“接受人地址列表”、“抄送人地址列表”和“密送人地址列表”,传递的都是String[]类型的Email地址,如果数组中有多个地址,就可以发送给多人。发送的函数修改如下,我们看下效果:
Java代码
private void startSendEmailIntent(){
Intent data=new Intent(Intent.ACTION_SENDTO);
data.setData(Uri.parse("mailto:qq10000@qq.com"));
data.putExtra(Intent.EXTRA_EMAIL, new String[]{"ls8707@163.com","ls8708@163.com"});
data.putExtra(Intent.EXTRA_CC, new String[]{"ls8709@163.com"});
data.putExtra(Intent.EXTRA_BCC, new String[]{"ls810@163.com"});
data.putExtra(Intent.EXTRA_SUBJECT, "这是标题");
data.putExtra(Intent.EXTRA_TEXT, "这是内容");
startActivity(data);
}
五,发送附件
Email'客户端的发送Activity提供了两个Intent Filter,一个用于发送普通邮件,一个用户发送带有附件的邮件。区分很很容易的,发送普通邮件的那个Intent Filter配置的Action SENDTO,而带有附件的邮件则是SEND,所以是2个不一样,但是哪些比如附加“标题”,“内容”,“抄送”,“发送多人”等等还是通用的。布局文件新增一个按钮,用于发送带有附件的邮件,Activity代码也做修改。
Xml代码
Button
android:id="@+id/send_to_btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="SendTo Action"/
Java代码
/* * 发送邮件测试界面
* @author 飞雪无情 个人博客:
* @since 2011-7-19
*/
public class SendEmailActivity extends Activity implements View.OnClickListener{
private Button mSendBtn;
private Button mSendToBtn;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSendBtn=(Button)findViewById(R.id.send_btn);
mSendToBtn=(Button)findViewById(R.id.send_to_btn);
mSendBtn.setOnClickListener(this);
mSendToBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.send_btn:
startSendEmailIntent();
break;
case R.id.send_to_btn:
startSendToEmailIntent();
break;
}
}
private void startSendEmailIntent(){
Intent data=new Intent(Intent.ACTION_SENDTO);
data.setData(Uri.parse("mailto:qq10000@qq.com"));
data.putExtra(Intent.EXTRA_EMAIL, new String[]{"ls8707@163.com","ls8708@163.com"});
data.putExtra(Intent.EXTRA_CC, new String[]{"ls8709@163.com"});
data.putExtra(Intent.EXTRA_BCC, new String[]{"ls810@163.com"});
data.putExtra(Intent.EXTRA_SUBJECT, "这是标题");
data.putExtra(Intent.EXTRA_TEXT, "这是内容");
startActivity(data);
}
private void startSendToEmailIntent(){
Intent data=new Intent(Intent.ACTION_SEND);
data.putExtra(Intent.EXTRA_EMAIL, new String[]{"ls8707@163.com"});
data.putExtra(Intent.EXTRA_SUBJECT, "这是标题");
data.putExtra(Intent.EXTRA_TEXT, "这是内容");
data.putExtra(Intent.EXTRA_STREAM, Uri.parse(""));
data.setType("text/plain");
startActivity(data);
}
}
下载javamail的java包,加入到你项目的库中。
2.修改你的邮箱设置,这里以163邮箱为例。打开设置,开启客户端授权码,记住这个授权码,然后打开POP3/SMTP服务和IMAP/SMTP服务。
输入相应的代码(私我给你发)
在使用该库前先简单介绍一下 Email for Android 2.3.2 中四个核心的类和相关的方法。
EmailConfig 类
setAccount( ):设置发信人的邮箱(必写)
setPassword( ) :设置发信人的邮箱密码或授权码(必写)
setSmtpHost( ):设置SMTP服务器地址(发送邮件时必写)
setSmtpPort( ):设置SMTP服务器端口(发送邮件时必写)
setPopHost( ):设置POP服务器地址(接收邮件时必写)
setPopPort( ):设置POP服务器端口(接收邮件时必写)
setImapHost:设置IMAP服务器地址(接收邮件时必写)
setImapPort:设置IMAP服务器端口(接收邮件时必写)
EmailSendClient 类
setTo( ):设置收信人邮箱(必写)
setCc( ):设置抄送人
setBcc( ):设置密送人
setNickname( ):设置发信人昵称
setSubject( ):设置邮件主题(必写)
setText( ):设置文本型的邮件内容(必写,但 setText( ) 和 setContent( ) 只能二选一)
setContent( ):设置HTML型的邮件内容(同上)
sendAsyn( ):异步发送邮件(必写)
EmailReceiveClient 类
popReceiveAsyn( ):使用POP3协议异步接收邮件
imapReceiveAsyn( ):使用IMAP协议异步接收邮件
EmailExamine 类
connectServer( ):检查邮件服务器配
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流