"<TEmail: mozagazzer@gmail.com>" needs to have a value for field "id" before this many-to-many relationship can be used.

my models

class TEmail(models.Model):

    CHOICES = [
        ('mr', 'Mester'),
        ('ms', "mess"),
        ('mrs', "mess mester")
    ]

    
    subject = models.CharField(max_length=50)
    message = models.TextField()
    sender = models.EmailField(max_length=100, validators=[validate_email])
    recepients = models.ManyToManyField('UserApp')
    person = models.CharField(max_length=3, choices=CHOICES)
    email_date = models.DateTimeField(auto_now=True)


    def __str__(self):
        
        return self.sender

class UserApp(User):

    CHOICES = [
        ('m', 'Male'),
        ('f', 'Female'),
        ('n', 'Never Want'),
    ]
    birth_date = models.DateField()
    sex = models.CharField(max_length=1, choices=CHOICES)

    def __str__(self):
        return self.username

forms.py

class MultiEmailField(forms.Field):

    def to_python(self, value):
        if not value:
            return []

        return value.split(',')

    def validate(self, value):

        super().validate(value)
        for email in value:
            validate_email(email)

class ContactForm(forms.ModelForm):
    
    recepients = MultiEmailField()
    
    class Meta:
        model = TEmail
        exclude = ['email_date', 'sender']

views.py

class SendEmailView(View):

    def get(self, request):
        form = ContactForm()
        return render(request, 'sendmail/send_email.html', {'form': form})

    def post(self, request):

        form = ContactForm(request.POST)
        if form.is_valid():

            email = form.save(commit=False)
            email.sender = request.user.email
            
            for recep in form.cleaned_data['recepients']:

                try:
                    user = User.objects.get(email=recep)
                except (KeyError, User.DoesNotExist):
                    return render(request, 'sendmail/send_email.html',{
                        'error': f'This email not exist ({recep})'
                    })
                else:
                    email.recepients.add(user)
                    form.save_m2m()
            return redirect('sendmail:home')

        return render(request, 'sendmail/send_email.html', {'form':form})

You’re not saving the email object after updating the sender attribute.

class SendEmailView(View):

    def get(self, request):
        form = ContactForm()
        return render(request, 'sendmail/send_email.html', {'form': form})

    def post(self, request):

        form = ContactForm(request.POST)
        if form.is_valid():

            email = form.save(commit=False)
            email.sender = request.user.email
            email.save()
            for recep in form.cleaned_data['recepients']:

                try:
                    user = UserApp.objects.get(email=recep)
                except (KeyError, UserApp.DoesNotExist):
                    return render(request, 'sendmail/send_email.html',{
                        'error': f'This email not exist ({recep})'
                    })
                else:
                    email.recepients.add(user)
                    form.save_m2m()
            return redirect('sendmail:home')

        return render(request, 'sendmail/send_email.html', {'form':form})

another error raised i think because of

email.recepients.add(user)
form.save_m2m()

the error is Field ‘id’ expected a number but got ‘waheed@gmail.com’.
what is the problem

Whenever you are asking about an error here on the forum, please post the complete traceback. (Also surrounded by lines of three backticks.)