{"id":20177708,"url":"https://github.com/gnori-zon/mailsenderbot","last_synced_at":"2026-04-09T21:04:17.129Z","repository":{"id":142755273,"uuid":"589694511","full_name":"gnori-zon/MailSenderBot","owner":"gnori-zon","description":"telegram bot for mailings ","archived":false,"fork":false,"pushed_at":"2024-02-24T09:40:53.000Z","size":94325,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-13T16:47:26.811Z","etag":null,"topics":["docker","docker-compose","gradle","java","mail","microservices","modules","postgresql-database","rabbitmq","send-mail","sender","springboot","telegram-bot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gnori-zon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-16T18:05:54.000Z","updated_at":"2023-09-19T10:25:58.000Z","dependencies_parsed_at":"2025-01-13T16:52:34.191Z","dependency_job_id":null,"html_url":"https://github.com/gnori-zon/MailSenderBot","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnori-zon%2FMailSenderBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnori-zon%2FMailSenderBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnori-zon%2FMailSenderBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnori-zon%2FMailSenderBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gnori-zon","download_url":"https://codeload.github.com/gnori-zon/MailSenderBot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241612679,"owners_count":19990856,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","gradle","java","mail","microservices","modules","postgresql-database","rabbitmq","send-mail","sender","springboot","telegram-bot"],"created_at":"2024-11-14T02:17:04.765Z","updated_at":"2026-04-09T21:04:17.032Z","avatar_url":"https://github.com/gnori-zon.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MailSenderBot\ntelegram bot for mailings (spammer)\n\n\u003cp align=\"center\"\u003e\n   \u003cimg src=\"https://img.shields.io/badge/Version-1.1-important\" alt=\"App Version\"\u003e\n   \u003cimg src=\"https://img.shields.io/badge/Lecense-MIT-9cf\" alt=\"License\"\u003e\n\u003c/p\u003e\n\n## About\n\ntelegram bot for creating newsletters and their subsequent sending using the user's mail or using the bot's mail. The bot has integration with a database that stores account data (mail and key, encrypted). The database also stores the mailing history of each user. The sample letter contains (header, body text, attachment, recipients and the number of pieces for each recipient). \n\n## Documentation\nIf you will not use docker, then you need to have a working **RabbitMQ** server with the necessary **queue** and **exchange**. As well as the **postgreSQL** database. \nUse gradlew to build. You need to configure 2 yaml files in module **[client-telegram]** and **[send-mail-worker]**. Then use for build two service:\n\n```\n./gradlew :send-mail-worker:build\n```\n\nAnd\n\n```\n./gradlew :client-telegram:build\n```\n\n\u003cdetails\u003e\n   \u003csummary\u003e Subject area\u003c/summary\u003e\n    \u003cimg width=\"541\" alt=\"Снимок экрана 2024-02-24 в 12 27 49\" src=\"https://github.com/gnori-zon/MailSenderBot/assets/108410527/ffff5e82-1903-4fee-a4df-e00c0df42789\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n   \u003csummary\u003e Communication between services\u003c/summary\u003e\n   \u003cimg width=\"859\" alt=\"Снимок экрана 2023-05-08 в 17 11 48\" src=\"https://user-images.githubusercontent.com/108410527/236858295-3096cfca-dc88-4aa1-9086-a4f69f983d83.png\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n   \u003csummary\u003e Model content\u003c/summary\u003e\n   Document and PhotoSize date types from telegram library \n   \n   ```java\n   public record Message(\n           long accountId, \n           SendMode sendMode, \n           String title, \n           String text, \n           FileData fileData, \n           List\u003cString\u003e recipients, \n           int countForRecipient, \n           LocalDate sentDate\n   ) implements Serializable {}\n\n   enum SendMode {\n    ANONYMOUSLY,\n    CURRENT_MAIL;\n   }\n   \n   record FileData(\n        String id,\n        String name,\n        FileType type\n   ) {}\n   \n   enum FileType {\n        PHOTO,\n        DOCUMENT;\n   }\n   ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n   \u003csummary\u003e Config for client-telegram \u003c/summary\u003e\n   \n   ```yaml\n   server:\n    port: 8080\n   #telegram\n   bot:\n      name: \n      token:\n   service: \n      # (addresses to the tg-api file system)\n      file-info:\n         uri: https://api.telegram.org/bot{token}/getFile?file_id={fileId}\n      file-storage:\n         uri: https://api.telegram.org/file/bot{token}/{filePath} \n\n   # database\n   spring:\n      datasource:\n         # (address of database)\n         url: jdbc:postgresql://localhost:5432/ \n         username: \n         password: \n      jpa:\n         # (schema generation for database)\n         generate-ddl: true \n         show-sql: true\n         hibernate:\n            # (ddl mode)\n            ddl-auto: create-drop \n\n   # rabbitMQ\n      rabbitmq:\n         # used default host and port\n         username: guest \n         password: guest\n         # (specifying the name of the queue to be created)\n         queue-name: send.mail \n         # (specifying the name of the exchange to be created)\n         exchange-name: exchange \n   #for Crypto !keys specified in .yaml(client) and .yaml(worker) must will be equals\n   cipher:\n      # (fist 128-bit key)\n      initVector: F-JaNdRgUjXn2r5u \n      # (second 128-bit key)\n      key: hVmYp3s6v9y$B\u0026E) \n   ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n   \u003csummary\u003e Config for send-mail-worker \u003c/summary\u003e\n   \n```yaml   \nserver:\n  port: 8081\nbot:\n  name:\n  token:\nservice:\n  # (addresses to the tg-api file system)\n  file-info:\n    uri: https://api.telegram.org/bot{token}/getFile?file_id={fileId}\n  file-storage:\n    uri: https://api.telegram.org/file/bot{token}/{filePath}\n# database\nspring:\n  datasource:\n    # (address of database)\n    url: jdbc:postgresql://localhost:5432/\n    username: \n    password: \n  jpa:\n    # (schema generation for database)\n    generate-ddl: false\n    show-sql: true\n# rabbitMQ\n  rabbitmq:\n     addresses: localhost:5672\n     username: guest \n     password: guest\n     # (specifying the name of the queue to be listening)\n     queue-name: send.mail \n#  for send-worker\nbase:\n  # (specifying mails and keys(keys for app) to them through ' , ' which will be used by the bot for anonymous mailing (ONLY GMAIL))\n  mails:\n  keys:\n#for Crypto !keys specified in .yaml(client) and .yaml(worker) must will be equals\ncipher:\n   # (fist 128-bit key)\n   initVector: F-JaNdRgUjXn2r5u \n   # (second 128-bit key)\n   key: hVmYp3s6v9y$B\u0026E) \n```\n\u003c/details\u003e\n   \n\n\u003ca href=\"https://github.com/gnori-zon/MailSenderBot/tree/master/docker\"\u003edocker\u003ca\u003e\n\n## Developers\n\n- [gnori-zon](https://github.com/gnori-zon)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgnori-zon%2Fmailsenderbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgnori-zon%2Fmailsenderbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgnori-zon%2Fmailsenderbot/lists"}