是否可以在智能契约中添加电子邮件通知触发器?
你能在合同中储存一封电子邮件,并在规定的日期发给他们一封电子邮件吗?
发布于 2016-02-04 04:22:34
是否可以在智能契约中添加电子邮件通知触发器?
不是直接的。你需要一个第三方服务,它正在监视区块链,如果它看到某些情况发生,它会发送电子邮件。或者,您可以自己构建这样的服务。您需要非常小心,您的服务不被滥用的垃圾邮件洪流。这就是为什么这些特性从一开始就没有被内置到Ethereum中的原因。(降低风险的最好方法是在发送电子邮件时收费,类似于Oraclize的做法。)
你能在合同中储存一封电子邮件,并在规定的日期发给他们一封电子邮件吗?
也许将人们的电子邮件地址存储在合同中并不是最好的办法。它们将是世界可读的,对长期规划来说不是一个好主意。(也许你可以告诉用户你在做什么,让他们承担风险。)你可能会问一种人与人之间的交流方式,就像我昨天问的一个问题:低语者会与以太合同一起工作吗?还是我应该尝试另一种传递秘密的方法?
发布于 2016-07-07 08:54:32
是的,你可以用blockchain2email.com API发送电子邮件。
如果您想在设定的时间安排通知,您可以使用Oraclize API呼叫电子邮件发送。下面是一个示例:
import "dev.oraclize.it/api.sol";
contract blockchain2emailAPI {function SendEmail(string x, string y) returns(bool) {}}
contract Alarm is usingOraclize {
function Alarm() {
oraclize_query(1*day, "URL", "");
}
function SendEmail(string EmailAddress, string Message) internal returns (bool){
return (blockchain2emailAPI(0xde5ebd0b8879b0a42b23b37e4d76a5e21a0bef4b).
SendEmail.value(1000000000000000)(EmailAddress, Message));
}
function __callback(bytes32 myid, string result) {
if (msg.sender != oraclize_cbAddress()) throw;
SendEmail("example@email.com", "Your message goes here.");
}
} 然而,正如linagee所提到的,这种方法没有隐私,所以在发布电子邮件地址时要小心。
https://ethereum.stackexchange.com/questions/968
复制相似问题