【问题标题】:Send mail From User Define Mail View Android从用户定义邮件视图 Android 发送邮件
【发布时间】:2013-04-04 21:28:39
【问题描述】:

我有一个应用程序可以将邮件发送到我定义的邮件地址“myemail@own.com”。为此,我创建了自己的自定义电子邮件视图,其中包含复选框消息正文和其他选项。现在我希望当按下发送按钮时,我的应用程序不应该转到 gmail 视图或其他电子邮件客户端视图,它直接提交数据

字符串recepientEmail = "myemail@own.comm";

// 设置为目标电子邮件或留空

    Intent intent = new Intent(Intent.ACTION_SENDTO);

    intent.setData(Uri.parse("mailto:" + recepientEmail));

    startActivity(intent);

但在提交时会打开 gmail 或选择器电子邮件客户端视图,但我不想显示 gmail 视图

【问题讨论】:

标签: android email-client


【解决方案1】:

我仅在此链接中添加任何电子邮件服务器所需的修改说明: Click Here

第一次更改:

private String mailhost = "smtp.gmail.com

改成

private String mailhost = "your smtp email server address";

第二次改变:

props.put("mail.smtp.port", "465");   
props.put("mail.smtp.socketFactory.port", "465"); 

改成

props.put("mail.smtp.port", your smtp port);   
props.put("mail.smtp.socketFactory.port", your smtp port); 

第三次改变:

默认属性是

props.setProperty("mail.transport.protocol", "smtp");   
props.setProperty("mail.host", mailhost); 

如果需要您的电子邮件服务器,请添加更多属性。

希望对你有帮助。

【讨论】:

  • 感谢您的大力帮助。实际上您的链接示例也有一个问题,它使用硬编码的电子邮件并通过。因此,当我们使用我们的 smtp 邮件主机时,在这种情况下,我们的发件人应该根据 smtp maihost,就像我的 smtp 是“smtp.mysmtp.com”,所以在这种情况下,我的硬编码电子邮件应该是 myusername@mysmtp.com。因为当我使用 gmail smtp 发送电子邮件时,我会收到来自硬编码用户名的电子邮件。那么当有人发送邮件时,他/她应该有根据 smtp 邮件主机的电子邮件地址吗?
  • gmail 之类的公共电子邮件服务器只允许您从 user@gmail.com 发送电子邮件,但不能从 user@yahoo.com 发送电子邮件。但如果您有您的个人电子邮件服务器,例如 yourdomain.com,那么您可以在“收件人”电子邮件地址中指定 user@anything.com。
  • 并且在“from”中可以是“sender@anything.com”?
  • 如果您自己的电子邮件服务器,而不是像 gmail、yahoo 这样的公共电子邮件服务器,那么您可以将“from”也放入“user@anything.com”,这是 SMTP 协议中的错误。但要小心使用它,因为如果你出于错误的意图使用它,这是不合法的。如果您只想为自己使用它,您可以享受并免费使用此错误。
猜你喜欢
  • 2011-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-28
  • 1970-01-01
  • 2014-04-04
  • 2015-03-06
  • 2015-09-18
相关资源
最近更新 更多