மின்னஞ்சல் மற்றும் தள்ளு அறிவிப்புகள்

Antimatter அழைப்புகள், கடவுச்சொல் மீட்டமைப்புகள், சரிபார்ப்பு மற்றும் தவறிய செய்திகளுக்காக மின்னஞ்சல் அனுப்புகிறது, மேலும் தள்ளு மத்தியஸ்தம் மூலம் மொபைல் செயலிக்கு தள்ளு அறிவிப்புகளை அனுப்புகிறது. நீங்கள் இதை அமைக்கும் வரை இரண்டும் வேலை செய்யாது.

வெளியேறும் மின்னஞ்சல் (SMTP)

Antimatter உங்கள் வழங்கும் SMTP சேவையகம் மூலம் மின்னஞ்சல் அனுப்புகிறது: உங்கள் நிறுவனத்தின் மின்னஞ்சல் சேவையகம் அல்லது ஒரு பரிவர்த்தனை மின்னஞ்சல் சேவை. இல்லாமல், மக்கள் மறந்த கடவுச்சொல்லை மீட்டமைக்க முடியாது, மின்னஞ்சல் அழைப்புகள் மற்றும் சரிபார்ப்பு வராது, மேலும் தவறிய செய்திகளின் மின்னஞ்சல் அறிவிப்புகள் யாருக்கும் வராது.

அமைப்பு கன்சோல் › சூழல் › SMTP இல் அமைக்கவும், அல்லது மாறிகளால்:

அமைப்புKey மற்றும் variableஇயல்பு
SMTP சேவையகம்EmailSettings.SMTPServer, AM_EMAILSETTINGS_SMTPSERVERlocalhost
SMTP சேவையக துறைமுகம்EmailSettings.SMTPPort, AM_EMAILSETTINGS_SMTPPORT10025
SMTP அங்கீகாரத்தை இயக்குEmailSettings.EnableSMTPAuth, AM_EMAILSETTINGS_ENABLESMTPAUTHஇணைப்பு பாதுகாப்பு இல்லாமல் அணைக்கவும், இருந்தால் இயக்கவும்
SMTP சேவையக பயனர்பெயர்EmailSettings.SMTPUsername, AM_EMAILSETTINGS_SMTPUSERNAMEவெற்று
SMTP சரவரர் கடவுச்சொல்EmailSettings.SMTPPassword, AM_EMAILSETTINGS_SMTPPASSWORDவெற்று
இணைப்பு பாதுகாப்புEmailSettings.ConnectionSecurity, AM_EMAILSETTINGS_CONNECTIONSECURITYஏதும் இல்லை (வெற்று); அல்லது TLS அல்லது STARTTLS
சரவரர் சான்றிதழ் சரிபார்ப்பை தவிர்க்கEmailSettings.SkipServerCertificateVerificationஅணைக்கவும். உற்பத்தியில் (production) அணைத்திருக்கவும்.

உங்கள் வழங்குநர் கூறுவது போல துறைமுகம் 587 இல் STARTTLS அல்லது துறைமுகம் 465 இல் TLS பயன்படுத்தவும். பின்னர் அதே பக்கத்தில் இணைப்பை சோதி என்பதை அழுத்தவும்: Antimatter உங்கள் சொந்த முகவரிக்கு ஒரு சோதனை மின்னஞ்சலை அனுப்புகிறது.

compose.yaml ஐ அடுத்து compose.override.yaml இல், Docker Compose உடன் ஒரு வழக்கமான அமைப்பு:

services:
  antimatter:
    environment:
      AM_EMAILSETTINGS_SMTPSERVER: smtp.example.com
      AM_EMAILSETTINGS_SMTPPORT: "587"
      AM_EMAILSETTINGS_CONNECTIONSECURITY: STARTTLS
      AM_EMAILSETTINGS_ENABLESMTPAUTH: "true"
      AM_EMAILSETTINGS_SMTPUSERNAME: chat@example.com
      AM_EMAILSETTINGS_SMTPPASSWORD: ${SMTP_PASSWORD}
      AM_EMAILSETTINGS_FEEDBACKNAME: Antimatter
      AM_EMAILSETTINGS_FEEDBACKEMAIL: chat@example.com
      AM_EMAILSETTINGS_REPLYTOADDRESS: chat@example.com

SMTP_PASSWORD ஐ .env இல் வைக்கவும். தளத்தின் compose கோப்பு சேவையகத்தை இயல்புநிலை வலையமைப்பில் வைக்கிறது, இதற்கு இணைய அணுகல் உள்ளது, எனவே அது வெளிப்புற SMTP சேவையகத்தை அடைய முடியும்.

அனுப்பியவர் மற்றும் அறிவிப்பு மின்னஞ்சல் அமைப்புகள்

அமைப்பு கன்சோல் › தள அமைப்பு › அறிவிப்புகள் இல்:

அமைப்புவிசைஇயல்பு
மின்னஞ்சல் அறிவிப்புகளை இயக்குEmailSettings.SendEmailNotificationsஇயக்கப்பட்டது
அறிவிப்பு காட்சி பெயர்EmailSettings.FeedbackNameவெற்று
அறிவிப்பு அனுப்பியவர் முகவரிEmailSettings.FeedbackEmailtest@example.com: மாற்றவும்
அறிவிப்பு பதில்-க்கு முகவரிEmailSettings.ReplyToAddresstest@example.com: மாற்றவும்
மறுபயன்பாட்டு மின்னஞ்சல் முகவரிSupportSettings.SupportEmailவெற்று
அறிவிப்பு கீழ்க்கண்ணுள்ள அஞ்சல் முகவரிEmailSettings.FeedbackOrganizationவெற்று
மின்னஞ்சல் அறிவிப்பு உள்ளடக்கம்EmailSettings.EmailNotificationContentsTypeமுழு செய்தி உள்ளடக்கத்தை அனுப்பவும் (full), அல்லது அனுப்பியவரின் பெயர் மட்டும் கொண்ட பொதுவான விளக்கத்தை (generic)
மின்னஞ்சல் தொகுப்பை இயக்குEmailSettings.EnableEmailBatchingஅணைக்கவும். இயக்கினால், ஒவ்வொரு 15 நிமிடங்களுக்கு அல்லது ஒவ்வொரு மணிக்கும் தவறிய செய்திகளை ஒரு மின்னஞ்சலில் தொகுக்க மக்கள் தேர்வு செய்ய முடியும், ஒவ்வொரு செய்திக்கும் ஒரு மின்னஞ்சல் எனும் பதிலாக.
மின்னஞ்சல் அறிவிப்புகளில் சேனல் பெயரை பயன்படுத்துEmailSettings.UseChannelInEmailNotificationsஅணை
முன்னோட்ட முறை பட்டையை இயக்குEmailSettings.EnablePreviewModeBannerஇயக்கவும்: மின்னஞ்சல் அறிவிப்புகள் அணைக்கப்பட்டிருக்கும்போது, மின்னஞ்சல் அமைக்கப்படவில்லை என்பதை நிர்வாகிகளுக்கு ஒரு பட்டை தெரிவிக்கிறது

From முகவரி உங்கள் SMTP சேவையகம் அனுப்ப அனுமதிக்கப்பட்ட ஒரு முகவரியாக இருக்க வேண்டும்; அதன் டொமைனுக்காக SPF மற்றும் DKIM அமைக்கவும், இல்லையெனில் மின்னஞ்சல்கள் ஸ்பேம் கோப்புறைகளில் சேரலாம்.

மின்னஞ்சல் தொடர்பான உள்நுழைவு அமைப்புகள் (புதிய கணக்குகள் தங்கள் முகவரியை சரிபார்க்க வேண்டியதா, மின்னஞ்சல் மூலம் அழைப்புகளை அனுப்ப முடியுமா) உள்நுழைவு மற்றும் கணக்குகள் பக்கத்தில் உள்ளன.

Push notifications to the mobile app

புஷ் எவ்வாறு செயல்படுகிறது

Antimatter நேரடியாக Apple அல்லது Google உடன் தொடர்பு கொள்ளாது. ஒவ்வொரு அறிவிப்பிற்கும், அது ஒரு புஷ் புராக்ஸியை அழைக்கிறது. அது மொபைல் செயலியின் அங்கீகார விவரங்களை வைத்திருக்கிறது, iPhone-களுக்கு Apple (APNs) மூலம், Android தொலைபேசிகளுக்கு Google (Firebase Cloud Messaging) மூலம் அறிவிப்பை முன்னேற்றுகிறது. Apple மற்றும் Google, அறிவிப்பு அதற்குரிய செயலியின் அங்கீகார விவரங்களுடன் அனுப்பப்பட்டால் மட்டுமே அதை வழங்கும். எனவே, ஒரு புஷ் புராக்ஸி ஒரு மொபைல் செயலி உருவாக்கத்துடன் மட்டுமே செயல்படும்: அதன் அங்கீகார விவரங்களை அது வைத்திருக்கும் உருவாக்கத்துடன்.

  • Antimatter ஒரு பொதுவான புஷ் புராக்ஸியை இயக்காது. உங்கள் பயனர்கள் நிறுவும் மொபைல் செயலி உருவாக்கத்தின் அங்கீகார விவரங்களுடன், Antimatter புஷ் புராக்ஸியை நீங்களே இயக்க வேண்டும்.
  • Antimatter Mattermost-இன் புஷ் சேவைகளுக்கு (பரிசோதனை அல்லது ஹோஸ்டெட்) எந்த அறிவிப்புகளையும் அனுப்பாது: அவை Mattermost-இன் சொந்த மொபைல் செயலிகளுக்கு மட்டுமே வழங்குகின்றன. சேவையகம் அவற்றின் முகவரிகளில் ஒன்றில் அமைக்கப்பட்டால் (எ.கா., https://push-test.mattermost.com, பழைய Mattermost அமைப்புகள் இதைப் பயன்படுத்துகின்றன), அது எதுவும் அனுப்பாது, தொடக்கத்தில் எச்சரிக்கையைப் பதிவு செய்யும்.

புதிய சேவையகத்தில் புஷ் அறிவிப்பு சேவையகம் இல்லை, எனவே உங்கள் புஷ் புராக்ஸியின் முகவரியை அமைக்கும் வரை அது புஷ் அறிவிப்புகளை அனுப்பாது. அந்த வரை, மொபைல் செயலி செயல்படும், ஆனால் அறிவிப்புகளைப் பெறாது.

புஷ் புராக்ஸியை இயக்கு

புஷ் புராக்ஸி push-proxy சேமிப்பகத்தில் உள்ளது. உங்கள் மொபைல் செயலி உருவாக்கத்தை வெளியிடும் கணக்குகளில் இருந்து பெறப்படும் இரண்டு அங்கீகார விவரங்களை எவ்வாறு பெறுவது என்பதை அதன் README விளக்குகிறது:

  • அண்ட்ராய்டு: உங்கள் Android உருவாக்கம் பயன்படுத்தும் Firebase திட்டத்தின் சேவை கணக்கு கோப்பு.
  • iOS: உங்கள் iOS உருவாக்கத்தை வெளியிடும் Apple டெவலப்பர் கணக்கின் APNs அங்கீகார விசை (AuthKey_<KEY ID>.p8), அதன் விசை ID மற்றும் குழு ID உடன்.

அவற்றை புராக்ஸியின் அமைப்பு கோப்பு உடன் compose.yaml ஐ அருகில் வைக்கவும்:

push-proxy/
  config/antimatter-push-proxy.json
  certs/AuthKey_ABCDE12345.p8
  certs/firebase-service-account.json

push-proxy/config/antimatter-push-proxy.json, உங்கள் பண்டிள் அடையாளம், விசை ID மற்றும் குழு ID உடன்:

{
    "ListenAddress": ":8066",
    "ThrottlePerSec": 300,
    "ThrottleMemoryStoreSize": 50000,
    "ThrottleVaryByHeader": "X-Forwarded-For",
    "EnableMetrics": false,
    "SendTimeoutSec": 30,
    "RetryTimeoutSec": 8,
    "ApplePushSettings": [
        {
            "Type": "apple_rn",
            "ApplePushUseDevelopment": false,
            "ApplePushTopic": "chat.antimatter.app",
            "AppleAuthKeyFile": "./certs/AuthKey_ABCDE12345.p8",
            "AppleAuthKeyID": "ABCDE12345",
            "AppleTeamID": "FGHIJ67890"
        }
    ],
    "AndroidPushSettings": [
        {
            "Type": "android_rn",
            "ServiceFileLocation": "./certs/firebase-service-account.json"
        }
    ],
    "EnableConsoleLog": true,
    "EnableFileLog": false,
    "LogFormat": "plain",
    "LogLevel": "info"
}

ApplePushTopic உங்கள் உருவாக்கத்தின் iOS பண்டிள் அடையாளம். ApplePushUseDevelopment Xcode-இல் இருந்து நிறுவப்பட்ட உருவாக்கங்களுக்கு மட்டுமே true ஆக இருக்கும். அழைப்புகள் iPhone-களுக்கு VoIP புஷ்கள் மூலம் ஒலிக்கின்றன, அவை அதே விசையைப் பயன்படுத்துகின்றன, இங்கே மேலும் எதுவும் தேவையில்லை.

தளத்திற்கு compose கோப்பில் சேர்ப்பதற்கான தயார் நிலை சேர்க்கை ஒன்று உள்ளது: compose.push.example.yaml. இது வெளியிடப்பட்ட இமேஜை இயக்குகிறது: ghcr.io/antimatterchat/push-proxy:latest.

curl -fsSLO https://antimatter.chat/compose.push.example.yaml
docker compose -f compose.yaml -f compose.push.example.yaml --profile push up -d
docker compose -f compose.yaml -f compose.push.example.yaml logs push-proxy

தொடக்கத்தில், புஷ் புராக்ஸி தனது பதிவுகளில் அமைத்த ஒவ்வொரு புஷ் இலக்கையும் பெயரிடுகிறது; அதன் அங்கீகார விவரங்களை படிக்க முடியாதவற்றுக்கு பிழை பதிவு செய்கிறது. புராக்ஸி எந்த துறையையும் வெளியிடாது; compose நெட்வொர்க்கில் Antimatter மட்டுமே அதை அடைய முடியும்.

Docker இல்லாமல், புஷ் புராக்ஸியின் .deb அல்லது .rpm தொகுப்பை நிறுவவும்: GIF சேவை மற்றும் புஷ் புராக்ஸி தொகுப்புகள் பகுதியை பார்க்கவும்.

புஷ் புராக்ஸி அதை அழைப்பவரை சரிபார்க்காது. அதை இணையத்திற்கு வெளியிட வேண்டாம். வேறு ஹோஸ்ட்டில் இயங்கினால், அதை HTTPS பின்னால் வைத்து, அதை அடைய முடியும் என்று யார் என்று கட்டுப்படுத்தவும்: அறிவிப்புகளில் செய்தி உள்களம் இருக்கலாம்.

Antimatter-ஐ புராக்ஸியை நோக்கி அமைக்கவும்

அமைப்பு கன்சோல் › சூழல் › புஷ் அறிவிப்பு சேவையகம் பகுதியில், புஷ் அறிவிப்புகளை இயக்கு விருப்பத்தை உங்கள் சொந்த புஷ் புராக்ஸி மூலம் புஷ் அறிவிப்புகளை அனுப்பு என அமைத்து, புஷ் அறிவிப்பு சேவையகம் புலத்தை http://push-proxy:8066 (அல்லது வேறு இடத்தில் இயங்கினால் புராக்ஸியின் HTTPS முகவரி) என அமைக்கவும். இந்த விருப்பம் தேர்ந்தெடுக்கப்பட்டு முகவரி இல்லாமல் பக்கத்தை சேமிக்க முடியாது. புஷ் அறிவிப்புகளை அனுப்புவதை நிறுத்த, புஷ் அறிவிப்புகளை அனுப்ப வேண்டாம் என தேர்ந்தெடுக்கவும். அல்லது antimatter சேவையில் மாறிகள் மூலம்:

AM_EMAILSETTINGS_SENDPUSHNOTIFICATIONS: "true"
AM_EMAILSETTINGS_PUSHNOTIFICATIONSERVER: http://push-proxy:8066

சரிபார்க்க: மொபைல் செயலியில் உள்நுழைந்து, அதை பின்னணியில் வைத்து, வேறு கணக்கு உங்களை குறிப்பிடவும். எதுவும் வரவில்லை என்றால், Antimatter-இன் பதிவிலும் புராக்ஸியின் பதிவிலும் push என்று தேடுங்கள்: சாதன வகை தெரியாததா, விசை நிராகரிக்கப்பட்டதா, அல்லது சாதனம் வேறு செயலி உருவாக்கத்திற்கு உரியதா என்பதை அவை குறிப்பிடுகின்றன.

அறிவிப்புகளில் உள்ளவை

அமைப்பு கன்சோல் › தள அமைப்பு › அறிவிப்புகள் › புஷ் அறிவிப்பு உள்களம் (EmailSettings.PushNotificationContents):

விருப்பம்மதிப்பு
அனுப்பியவரின் பெயர் மட்டும் கொண்ட பொதுவான விளக்கம்generic_no_channel
அனுப்பியவர் மற்றும் சேனல் பெயர்கள் கொண்ட பொதுவான விளக்கம்generic
அறிவிப்பு லோடில் அனுப்பப்படும் முழு செய்தி உள்களமும் (இயல்பு)full
பெறும்போது சேவையகத்திடமிருந்து பெறப்படும் முழு செய்தி உள்களமும்id_loaded

id_loaded பயன்படுத்தினால், புராக்ஸி வழியாக செல்லும் அறிவிப்பில் Apple மற்றும் Google சேவைகள் id மட்டுமே கொண்டு செல்கின்றன; செயலி செய்தியை உங்கள் சேவையகத்திடமிருந்து பெறுகிறது: செய்தி உள்களம் அவற்றின் சேவைகள் வழியாக ஒருபோதும் செல்லாது. செய்திகள் ரகசியமாக இருந்தால் இது சிறந்த தேர்வு.

பெரிய சேனல் அறிவிப்பு எல்லை, Push Notification Server பக்கத்தில் (TeamSettings.MaxNotificationsPerChannel, இயல்பாக 1000) @here, @all மற்றும் @channel வேலை செய்ய வச்சு, ஒரு சேனல்கு அதிகபட்சமா இருக்க வச்சு உறுப்பினர்த் எண்ணம். இன்ன பெரிய சேனல்களில, அந்த குறிப்புகளும் தட்டிவ் அறிகுறிகளும் அணைப்புபப்டு.