Commands

Now, let's take a look at all the available commands:

On your screen, type "help" and press enter, it will give you the below prompt.

build - Create the necessary directories and files for the working of the project camp - Maintains campaign Example: camp --create (creates new campaign) camp --show 'campaign_name' (shows a specific campaign) camp --delete 'campaign_name' (delete a specific campaign) camp --list (list all the campaigns) send - Sends emails Example: send --test (sends emails from test data) send --real (sends emails from real data) config - Configure settings. Example: config --user-name name (resets user email) config --user-email firstname.lastname@example.com (resets the user email) config --service-provider-name provider_name (resets service provider name) config --service-provider-server server_address (resets service provider server address) config --service-provider-login login (resets service provider login ID) config --service-provider-port 000 (resets service provider port number) config --signature "<html>" (add signature to all the outgoing mails) config --signature-on (turn signatures ON) config --signature-off (turn signatures OFF) config --time-delay 0.00 (time gap between two emails) config --show (shows the current configurations) config --debug True/False (switches debug mode for error logs) exit - Exit the MuffinBite reset - Deletes the config file help - Shows all the available commands and their uses

These are 7 commands in total with their usage and proper examples.

Up until now, We've already seen what, 'send', 'build' and, 'help' does. Now we'll see the remaining commands.

1. "exit": It will close the MuffinBite CLI and bring you out of the application.
2. "reset": It deletes the current configurations for MuffinBite completely, so you can have a fresh start.
3. "camp": It helps maintain the whole campaign section, create, list, show a particular campaign, or delete one.
4. "config": It helps with manipulating the core authentication and settings configurations.

We will discuss the "config" command with all its flags, as it connects with the center of MuffinBite.
  1. config --user-name "name": Sets the display name that appears on sent emails.
  2. config --user-email "example@domain.com": Updates the email address used for sending. Each new email must be authenticated before use.
  3. config --service-provider-name "name": Specifies your email service provider (e.g., Google, Outlook, etc.).
  4. config --service-provider-server "server_address": Defines the SMTP server address provided by your ESP (Email Service Provider).
  5. config --service-provider-login "login": Sets the login username or unique ID assigned by your ESP.
  6. config --service-provider-port 000: Defines the port number used by your ESP’s SMTP service.
  7. config --signature "<html>": Adds a global email signature (in HTML). The same signature is applied to all outgoing campaigns for this account.
  8. config --signature-on: Enables the email signature.
  9. config --signature-off: Disables the email signature.
  10. config --time-delay 0.00: Sets the delay (in seconds) between sending two emails. Must be at least 0.42 seconds.
  11. config --show: Displays the current configuration settings.
  12. config --debug True/False: Toggles debug mode on or off.

Note: If you're using Google as your service provider, then server, login and port are not required, these are only required with ESPs like brevo.

Below you can see, how I have used each command:

bite> config --show Current MuffinBite Configuration: [user] name = Test email = tutoria.muffinbite@gmail.com [service_provider] provider = gmail [settings] debug = False signature = False time_delay = 0.42 bite> config --user-name Shivansh Configuration updated successfully !! bite> config --user-email shivanshvarshney45@gmail.com Configuration updated successfully !! bite> config --service-provider-name brevo Configuration updated successfully !! bite> config --signature "<h2>Muffinbite, by: Shivansh</h2>" Configuration updated successfully !! bite> config --signature-on Configuration updated successfully !! bite> config --debug True Configuration updated successfully !! bite> config --time-delay 0.32 Time gap can not be less than 0.42 seconds. Configuration updated successfully !! bite> config --time-delay 1.00 Configuration updated successfully !! bite> config --show Current MuffinBite Configuration: [user] name = Shivansh email = shivanshvarshney45@gmail.com [service_provider] provider = brevo [settings] debug = True signature = True time_delay = 1.00 bite>