diff --git a/sendgrid/helpers/mail/personalization.py b/sendgrid/helpers/mail/personalization.py
index e49432c..8bb4bed 100644
--- a/sendgrid/helpers/mail/personalization.py
+++ b/sendgrid/helpers/mail/personalization.py
@@ -116,7 +116,7 @@ class Personalization(object):
 
     @substitutions.setter
     def substitutions(self, value):
-        self.substitutions = value
+        self._substitutions = value
 
     def add_substitution(self, substitution):
         """Add a new Substitution to this Personalization.

Attempting to set substitutions on Personalization helper causes infinite regress
#### Issue Summary

Attempting to set substitutions on a `Personalization` helper directly (rather than with `add_substitution`) throws a `RecursionError`.

#### Steps to Reproduce

```python
from sendgrid.helpers.mail import Personalization
p = Personalization()
p.substitutions = [{'a': 0}, {'b': 1}]
```

This throws a `RecursionError`. The offending line is [personalization.py#L119](https://github.com/sendgrid/sendgrid-python/blob/master/sendgrid/helpers/mail/personalization.py#L119).

I will open a PR as this is an easy fix.

#### Technical details:

* sendgrid-python Version: `5.3.0`
* Python Version: 3.6
diff --git a/test/test_mail.py b/test/test_mail.py
index 86f21c0..7721b52 100644
--- a/test/test_mail.py
+++ b/test/test_mail.py
@@ -558,3 +558,7 @@ class UnitTests(unittest.TestCase):
             tracking_settings.get(),
             {'click_tracking': {'enable': False, 'enable_text': False}}
         )
+
+    def test_directly_setting_substitutions(self):
+        personalization = Personalization()
+        personalization.substitutions = [{'a': 0}]

pip install -e .
parse_log_pytest
requirements.txt
tox coverage codecov pytest
apt-get update apt-get install -y gcc pandoc
3.6
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
certifi==2021.5.30
charset-normalizer==2.0.12
codecov==2.1.13
coverage==6.2
dataclasses==0.8
distlib==0.3.9
filelock==3.4.1
Flask==0.10.1
idna==3.10
importlib-metadata==4.8.3
importlib-resources==5.4.0
iniconfig==1.1.1
itsdangerous==2.0.1
Jinja2==3.0.3
MarkupSafe==2.0.1
packaging==21.3
platformdirs==2.4.0
pluggy==1.0.0
py==1.11.0
pyparsing==3.1.4
pytest==7.0.1
python-http-client==3.3.7
PyYAML==3.11
requests==2.27.1
-e git+https://github.com/sendgrid/sendgrid-python.git@86708c7908102b171a9dbc92d31c5740aa218423#egg=sendgrid
six==1.17.0
toml==0.10.2
tomli==1.2.3
tox==3.28.0
typing_extensions==4.1.1
urllib3==1.26.20
virtualenv==20.17.1
Werkzeug==2.0.3
zipp==3.6.0

name: sendgrid-python
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - charset-normalizer==2.0.12
      - codecov==2.1.13
      - coverage==6.2
      - dataclasses==0.8
      - distlib==0.3.9
      - filelock==3.4.1
      - flask==0.10.1
      - idna==3.10
      - importlib-metadata==4.8.3
      - importlib-resources==5.4.0
      - iniconfig==1.1.1
      - itsdangerous==2.0.1
      - jinja2==3.0.3
      - markupsafe==2.0.1
      - packaging==21.3
      - platformdirs==2.4.0
      - pluggy==1.0.0
      - py==1.11.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - python-http-client==3.3.7
      - pyyaml==3.11
      - requests==2.27.1
      - six==1.17.0
      - toml==0.10.2
      - tomli==1.2.3
      - tox==3.28.0
      - typing-extensions==4.1.1
      - urllib3==1.26.20
      - virtualenv==20.17.1
      - werkzeug==2.0.3
      - zipp==3.6.0
prefix: /opt/conda/envs/sendgrid-python

test/test_mail.py::UnitTests::test_directly_setting_substitutions
test/test_mail.py::UnitTests::test_asm_display_group_limit test/test_mail.py::UnitTests::test_disable_tracking test/test_mail.py::UnitTests::test_helloEmail test/test_mail.py::UnitTests::test_helloEmailAdditionalContent test/test_mail.py::UnitTests::test_kitchenSink test/test_mail.py::UnitTests::test_sendgridAPIKey test/test_mail.py::UnitTests::test_unicode_values_in_substitutions_helper
sendgrid/helpers/mail/personalization.py
sendgrid/helpers/mail/personalization.py