Notificaciónes de Correo Electrónico

¿Es posible agregar activadores de notificación por correo electrónico en un contrato inteligente?

¿Podría almacenar el correo electrónico de una persona dentro de un contrato y, en una fecha determinada, enviarle un correo electrónico?

Respuestas (2)

¿Es posible agregar activadores de notificación por correo electrónico en un contrato inteligente?

No directamente. Necesitaría un servicio de terceros que esté observando la cadena de bloques y luego envíe un correo electrónico si ve que ocurre alguna condición. Alternativamente, podría crear un servicio de este tipo usted mismo. Debe tener mucho cuidado de que no se abuse de su servicio para las inundaciones de spam. Esta es la razón por la que tales funciones no se incorporaron en Ethereum desde el principio. (Probablemente, lo mejor para mitigar el riesgo es cobrar cuando se envía un correo electrónico, similar a lo que está haciendo Oraclize).

¿Podría almacenar el correo electrónico de una persona dentro de un contrato y, en una fecha determinada, enviarle un correo electrónico?

Probablemente no sea la mejor idea almacenar las direcciones de correo electrónico de las personas dentro de los contratos. Serán legibles en todo el mundo y no son una buena idea para la planificación a largo plazo. (Tal vez podría decirle al usuario lo que está haciendo y dejar que acepte el riesgo). Es probable que esté solicitando una forma de comunicación de persona a persona similar a una pregunta que hice ayer: Whisper funcionará con Ethereum contratos, o debería probar otra forma de enviar secretos?

Sí, puede usar la API de blockchain2email.com para enviar correos electrónicos.

Si desea programar notificaciones a una hora determinada, puede utilizar la API de Oraclize para llamar al envío de correo electrónico. Aquí hay un ejemplo:

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.");
    }

} 

Sin embargo, como mencionó Linagee, no hay privacidad con este método, así que tenga cuidado con la publicación de direcciones de correo electrónico.

A partir de 2021, blockchain2email.com está caído