Automated email sender using excel data - perl

I would like an automated email sender for birthdays. This is what I would like to accomplish:
Check Today's Date
Find match in Column 'DOB'
If true, get data from corresponding columns 'Name' and 'Email' (Might have to use for each)
Create Outlook Email with Subject 'Happy Birthday'
Message text – Dear $Name, Happy Birthday!
Send Email
After a bit of research I understand I will have to use the Spreadsheet::WriteExcel and one of the Outlook modules (not sure which one).

get today's date with the help of system.getDate() after that fetch date of birth from database match both the date if matched send sms. for sending sms use mail.cs function and write body of mail.

Related

How to send email with the list of all people - Power Automate

There are some tutorials that explain how to email someone on their birthday. What I am looking for is to send a single email with the list of all the people who celebrate their birthday that day.
I would like to know how I can send in the body of the email the name of the people who celebrate their birthday on that day.
I have been working on a flow with each of the following steps:
Recurrence:
With this step I send my daily mail every certain hour.
Get items:
I created a sharepoint list where I have the name of the birthday boy, date of birthday (DOB), gender and department.
Initialize variable:
Apply to each
Append to string variable
I add to the Birthdays variable the value that would be the name of the employee whose birthday is that day that is in the sharepoint list
Send an email
In the step of sending an email, I add the previously initialized variable "Birthdays" to the body of the email, which should contain the list of employees whose birthday is that day
I have supported myself with this question made in the Microsoft Power Automate forum but it does not work as it should since I am new to power automate
Error:
At the moment of executing my manual flow I get in the condition as a result false in addition to two errors when I add the variable and send the mail
Can someone give me an orientation in knowing what I am doing wrong in the flow since my mail does not arrive either.
UPDATE:
The value of the Birthdays variable at runtime is as follows:
UPDATE 2:
I have added in Filter Query the following expression formatDateTime(utcNow(),'dd-MM-yyyy') eq 'listColumn' but when executing the manual flow I get that The expression "28-01-2022 eq 'listColumn'" does not It is valid.
Annex error that shows me in the execution of the manual test
UPDATE 3:
The column in the sharepoint list where I am storing the birthday date is called DOB:
Get Items action you should use Filter Query row to search something like: formatDateTime(utcNow(),'dd-MM-yyyy') eq 'listColumn'.(You should have a column in sharepoint containing all user birthdays).
[1]: https://i.stack.imgur.com/Y3s4S.png
Append to String all the emails that you get from GetItems: Email;
Try this one; it should work:
Birthdays eq '#{formatDateTime(utcNow(), 'yyyy-MM-dd')}'

Email Saved Search based on conditional field

I am looking to send an email from netsuite using the "Recipients from Results"
I already have a saved search that emails based on field "salesrep", however I want to send a 2nd report to "TAMS" (Territory adoption managers) but only if the TAM is not the same as the sales rep. I am not sure if I will need a workflow to do the comparison or if I need to just add a formula.
Any suggestions ??
None
How about a separate saved search that includes all of your original criteria and additional criteria that would leverage a formula field to say sales rep not equal to TAMS and then email the tams from results?
Formula definitely! DECODE({salesrep},<Yours TAMS field ID>,'Ignore','Email')

How to notify users their connected time to a course since begining

I want to know if there is a plugin or somehow to notify via email to moodle users if they have not connected since xxxx date to complete a course.
Is there a way to make this automatically via cron or so?
Thanks.
You're question is a 2 in 1. You're asking how to identify users who haven't signed on in a while, and how to email them. I'm going to answer in parts accordingly. All of this can be accomplished via cron, but I don't use Moodle so I don't know what plugins are available to you.
He's an example of a query that would identify users who haven't logged on in 180 days (but it will ignore those who have never logged in).
SELECT * FROM mdl_user
WHERE lastlogin < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 180 DAY))
AND lastlogin != 0
AND lastaccess < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 180 DAY))
AND deleted = 0
Now for the email bit. Per Google, Moodle uses the PHPMailer for it's email_to_user() function. An example of using this in PHP:
email_to_user($toUser, $fromUser, $subject, $messageText, $messageHtml, '', '', true);
$toUser and $fromUser should be Moodle user objects, not email addresses. Traversing your query results to build these objects would be all that's left to do.
Last tip: To get a user object based on each result of your query, you can use the get_record function like so:
$userObj = get_record("user", "id", $userID);

How to perform aggregation in tablueu

I have a pretty simple use case,but do not know how shall I do it in Tableau 10.
I have following column as a dimension
Emails
gmail
gmail
hotmail
Hotmail
GMAIL
HOTMAIL
I just want to count no. of occurances of emails.
gmail 3
hotmail 3
I also need to convert all the text to lowercase and then count no of occurances.
Any help will be appreciated.
Convert to lowercase
Create a calculated field(Analysis->Create Calculated Field),I'm going to call it "lowercase_email", and use the function LOWER to convert the emails text to lowecase:
LOWER([Emails])
Drag this new calculated field, "lowercase email", into the rows shelf and it will automatically group the emails by the unique names, add the measure of number of records, and it will count the number per email.

Filling DateField and TimeField, according to a format, with incoming data

I have a datefield and a timefield in my ExtJS form and I have to fill them with data sent from the server. The server sends data in the following format (via Ajax):
date=2013-05-10T00:00:00.000+04:00,time=1970-01-01T00:30:00.000+03:00
How do I get that displayed in the form fields formatted as Y/m/d and H:i respectively? I have tried various combinations but they do not work. The fields remain either blank or filled with the entire data value sent from the server.
UPDATE:
If it would make things easier, I can make the server send the values in a different format, say milliseconds...
The data which u send from backend is in "ISO 8601 date" format this has been supported by extjs. This needs to be resolve with help of Ext.Date.format class. Refer below link for your reference.
http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.Date
You need to add 'format' config to datafield and timefield and pass your format as string.
Thanks