Social Archivist: aceptando links por e-mail
Publicado el 1 de Mayo de 2025 en #proyectos #tecnología
Agregué la función de recibir links por e-mail: el usuario puede escribir a [su id]@socialarchivist.online para guardar contenidos.
Para esto creé un email worker de CloudFlare que captura todos los mails que llegan al dominio. Es básicamente una función lambda con acceso al contenido raw del email entrante. Literalmente 20 líneas de código:
export default {
async email(message, env, ctx) {
const webhookUrl = "https://socialarchivist.online/.../";
try {
const emailData = {
from: message.from,
to: message.to,
headers: Object.fromEntries(message.headers),
raw: await new Response(message.raw).text(),
rawSize: message.rawSize,
};
const requestOptions = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(emailData),
};
await fetch(webhookUrl, requestOptions);
} catch (error) {
console.error(`Error processing email from ${message.from}: ${error.message}`);
message.setReject(`Internal worker error processing email: ${error.message}`);
}
}
}
¡Bienvenidos a mi página web!
¡Firmá el libro de visitas!
