Skip to content

Instantly share code, notes, and snippets.

@rubenrivera
Created January 28, 2017 18:13
Show Gist options
  • Save rubenrivera/6015c00bff61a994bb0af6d97ec158a2 to your computer and use it in GitHub Desktop.
Save rubenrivera/6015c00bff61a994bb0af6d97ec158a2 to your computer and use it in GitHub Desktop.
Código incluido en respuesta publicada en Stack Overflow en Español. Véase http://es.stackoverflow.com/a/46538/65.
function enviarEmail() {
//Iniciamos
//Validar si hay cuota disponible. En caso contrario avisar al usuario y terminar.
var cuotaDisponible = MailApp.getRemainingDailyQuota();
Logger.log('Cuota disponible previa: %s', cuotaDisponible);
if(cuotaDisponible < 1) {
Browser.msgBox('No queda cuota disponible por hoy. Intenta más tarde.');
return;
}
// Obtener la celda actual
var celdaActual = SpreadsheetApp.getActiveRange();
/*
* En caso de que la celda actual sea B1, B2 o B3
* y que se cumplan otras condiciones, enviar un
* mensaje
*/
switch (celdaActual.getA1Notation()){
case 'B1':
case 'B2':
case 'B3':
var libro = SpreadsheetApp.getActiveSpreadsheet();
var hoja = libro.getSheetByName('Hoja 1');
//Valor B1
var destinatario = hoja.getRange(1, 2).getValue();
//Valor B2
var asunto = hoja.getRange(2, 2).getValue();
//Valor B3
var cuerpo = hoja.getRange(3, 2).getValue();
//Validar que se cumplen las condiciones requeridas
if(
// Dirección de correo. Sólo validar que la longitud mínima sea 3
destinatario.length > 3 &&
// Asunto. Validar que tenga al menos un caracter
asunto.length > 1 &&
// Cuerpo. Validar que tenga al menos un caracter
cuerpo.length > 1
){
//Enviar mensaje
MailApp.sendEmail(destinatario, asunto, cuerpo);
//Aviso al usuario
Browser.msgBox('Mensaje enviado');
} else {
//Aviso al usuario
Browser.msgBox('No se envió el mensaje');
}
/*
* En caso de agregar otros casos, prevenir que se ejecuten
* "sin querer"
*/
break;
}
//Terminamos
return;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment